-
like语句中,以'%'开头的模糊查询 - 有
or的条件判断时(使用OR查询的部分字段没有索引),or两侧的字段都有索引时,会用到索引合并 - 字段类型不匹配,比如
varchar的字段name,
SELECT `id` FROM `user` WHERE `name` = 111
- 对于多列索引,不是使用的第一部分(第一个),则不会使用索引
- 如果
mysql估计使用全表扫描要比使用索引快,则不使用索引 -
LEFT JOIN语句,ON后面的字段编码不同也会导致索引失效
like语句中,以'%'开头的模糊查询or的条件判断时(使用OR查询的部分字段没有索引),or两侧的字段都有索引时,会用到索引合并varchar的字段name ,SELECT `id` FROM `user` WHERE `name` = 111
mysql估计使用全表扫描要比使用索引快,则不使用索引LEFT JOIN 语句,ON后面的字段编码不同也会导致索引失效