SQL优化之无法使用索引

导致索引失效是开发人员经常犯的错误之一。在SQL中有很多陷阱会使一些索引无法使用。我们来看看那些情况下会使索引失效
1.使用不等于操作符(<>、!=)
测试用的表数据
[img]http://dl.iteye.com/upload/attachment/0069/4519/6f35477f-1701-39c2-a8a4-11bdbdb82e2a.jpg[/img]
查看使用不等于的执行计划
[img]http://dl.iteye.com/upload/attachment/0069/4523/8f9b47a7-e733-3253-8c83-32108eb6c922.jpg[/img]
而使用or的执行计划
[img]http://dl.iteye.com/upload/attachment/0069/4525/55cbd5be-b05a-37bc-b713-cb95045fc388.jpg[/img]

可以看出在使用不等于时会使索引失效,通过把不等于操作符改成OR条件,就可以使用索引,以避免全表扫描


2.使用IS NULL 或IS NOT NULL
使用IS NULL 或IS NOT NULL也会限制索引的使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值