1.查询的条件字段不是索引字段,对哪一个字段创建了索引,就用这个字段做条件
2.创建索引的时候应该对区分度比较大的列进行创建
1/10以下的重复率比较适合创建索引
3.范围
范围越大越慢
范围越小越快
like '%a' 速度慢
like ‘a%’ 速度快
4.条件列参与计算/使用函数 速度慢
5.and 和 or
id name
id = 18000000 and name=‘eva’
多个条件的组合,如果使用and连接
其中一列含有索引,都可以加快查找速度
如果使用or连接
必须所有的列都含有索引,才能加快查找速度
6.联合索引: 最左前缀原则(必须带着最左边的列做条件,从出现范围开始整条索引失效)
其他注意事项
避免使用select *
创建表时尽量使用char代替varchar
表的字段顺序固定长度的字段优先age,gender 。。。。。放在表的左边
尽量使用短索引
使用join来代替子查询
连表时注意条件类型需一致
索引散列值(重复多的)不适合建索引,例如:性别不合适