MySQL中的模糊查询是指使用LIKE关键字进行字符串匹配的查询。它允许你使用通配符(%和_)来匹配任意字符序列。例如:
SELECT * FROM users WHERE name LIKE '%john%';LIKE关键字和通配符,可以快速构建简单的模糊查询。LIKE 'pattern%',匹配以pattern开头的字符串。LIKE '%pattern',匹配以pattern结尾的字符串。LIKE '%pattern%',匹配包含pattern的任意位置的字符串。模糊查询的性能问题通常出现在大型数据库中,主要原因包括:
LIKE '%pattern')会导致索引失效。LIKE '%pattern',可以考虑使用前缀匹配或后缀匹配。假设有一个用户表users,包含id和name字段,以下是一个模糊查询的示例:
-- 创建索引
CREATE INDEX idx_name ON users(name);
-- 模糊查询
SELECT * FROM users WHERE name LIKE 'john%';通过以上方法,可以有效提升MySQL模糊查询的性能。