数据库索引使用情况总结

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为扫描的行数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值