查询语句索引不能使用的一些情况

1. not 用不了索引

2. <> 用不了索引

3. null值比较用不了索引

4. like 

   select * from emp where ename like 'luo%' --能用上

    select * from emp where ename like '%dai' --不能

5. 查询字段使用了函数

   select * from emp where to_char(reg_date,'yyyy')='2009'

   当然,还包括了||连接符,对查询字段做运算等,如: where age+1=30 

6. 多个字段建立组合索引

  如对班号,姓名建立索引,并且班号在前

  where class_no='200105302' and stu_name= '罗某' --可以用索引

  where class_no='200105302'                        --可以

  where stu_name='罗某'                             --不可以

7. 注意数据类型隐式转换的问题

service_type字段,数据库表里varchar2类型,但是像下面这样写

where service_type=82 --用不了,隐式类型转换






转载于:https://my.oschina.net/u/1412027/blog/276630

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值