数据库索引使用情况总结

1.索引列上不能使用表达式和函数

2.索引列上不能进行算术运算

3.避免在索引列上使用is null和is not null(ps:索引只会告诉你什么有,不会告诉你什么没有)

4.尽量避免在where子句中使用"!="符号,以下操作符能使用索引:

       <, <=, =, >, >=, between

5.尽量避免在where子句中使用or来连接条件

6.in和not in要慎用,否者会导致全表扫描

7.在使用like时,尽量不要在开头使用通配符,例如:“%xxx”,可以在后面使用:"xxx%"

8.不要使用类型转换,例如索引为int类型,赋值为字符类型,如下

select ……where 索引列 = 1;使用索引

select …… where 索引列 = '1';没有使用索引

通过explain查询计划可以查看sql执行情况,就能知道是否需要优化:explain select ……where……

也可以通过navicat查看

主要是查看  type,key,rows

type结果值从好到坏依次是:

system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL

key实际使用的键或索引,如果为null,则表示未使用任何索引

rows为扫描的行数

猜你喜欢

转载自blog.csdn.net/u010689849/article/details/82109585
今日推荐