创建索引的原则:
(如果查询的字段都有索引的话,可以防止回表,从而提高查询效率)
(每次更新、插入都要更新索引的信息,所以索引过多会导致插入、更新变慢)
1、索引列上使用函数(replace\SUBSTR\CONCAT\sum count avg)、表达式计算(+ - * /)
4、联合索引情况下当前面的列使用范围查询时,后面的列不会再走索引
5、如果查询的数据量超过30%,也不会走索引。(大概值,不是精确值)
(!= (<>) 和NOT IN在某些情况下可以:
explain select * from emp where emp_num not in(1)
explain select * from emp where emp_num <> 1
这个例子中,因为索引是有序的,只要从1之后开始顺序读取就行)