mysql查询%开头索引失效的原因
时间: 2023-10-10 11:12:21 浏览: 97
mysql优化有哪些技巧?
当使用类似于`LIKE '%xxx'`这样的查询语句时,MySQL会扫描整张表以找到所有以`xxx`结尾的行,这个过程需要遍历整个表,因此非常耗时。如果有适当的索引,可以大大加快查询速度。
但是,当使用类似于`LIKE '%xxx'`这样的查询语句时,MySQL无法使用索引进行优化。原因是,MySQL只能使用索引来优化模糊查询字符串的开头,例如`LIKE 'xxx%'`,但无法优化查询字符串的结尾,例如`LIKE '%xxx'`。因此,如果你想在查询字符串的结尾上使用索引,可以考虑使用全文索引或者反转字符串来进行优化。
阅读全文