type:system>const>ref_eq>ref>range>index>all
1、尽量不要使用类型转换,否则导致索引失效。
select name from user where name = 123;(name字段为varchar类型)
2、like尽量以常量开头,不要以‘%’开头,否则索引失效。
如果必须使用模糊查询,可以使用索引覆盖挽救一部分(查询的列和查询条件都为相同索引列)。
3、尽量不要使用or查询,否则索引失效。
select * from user where name='abc' or cid=12; 左侧的name索引也将失效
4、复合索引不能使用 <、>、<>、!=或则is_null (is not null),否则自身以及右侧的索引全部失效。
5、复合索引不要跨列或则无序使用(最佳左前缀)
复合索引尽量使用全索引怕匹配
6、不要在索引上进行任何操作,否则索引失效。