sql执行计划可以用explain+sql语句来查看。
explain select * from user where name = ‘123456’ \G;(\G表示结果竖行显示)
以下是索引失效总结:
1.sql中有or。
2.sql中使用!=,<>
3.数据类型是字符串类型,查询的时候数据没有用引号引起来。
select * from user where name = 123456;
select * from user where name = ‘123456’;
4.like模糊查询以%开头。
5.where中对字段做表达式,函数操作。
6.全表扫描比索引快,则不使用索引。
索引在创建的时候不是越多越好,索引不适合键值较少的列。