1. 在 where 子句中使用!= 、<> 这样的符号,引擎会放弃索引进行全表扫描
2. 在 where 子句中进行 null 值判断的话会导致引擎放弃索引进行全表扫描
3.like 的模糊查询以 % 开头,索引失效
4. 避免在 where 子句中使用 or 来连接条件,如果两个字段中有一个没有索引的话,引擎就会放弃索引进行全表扫描
5. 如果 mysql 认为全表扫描要比使用索引快,则不使用索引。
6. 联合索引的话,查询时条件列不是联合索引的第一个列的话,索引会失效。
7. 如果字段类型是字符串,where 时一定要在条件中使用引号括起来,否则索引会失效