索引失效的几种情况

  1. 条件有 ‘or’。如果想使用 ‘or’ ,又想索引有效,只能将 ‘or’ 条件中的每个列都加上索引。
  2. 复合索引未使用左列字段。如果不使用前列,后续列也将无法使用。
  3. like 以 % 开头。
  4. 需要类型转换。比如列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引。
  5. where 中索引列有运算。
  6. where 中索引列使用了函数
  7. 如果 mysql 觉得全表查询更快时(数据少)