“Select“语句究竟是如何来使用索引的?

来源:岁月联盟 编辑:zhuzhu 时间:2008-02-02

用Select语句使用索引:

select * from t1 ;

--不能用索引,全表扫描

select * from t1 where age > 20;

--能用age上的索引

select * from t1 where name like '李%';

--能用上name上的索引

select * from t1 where xh <45;

--能用上xh上的索引;

select * from t1 where age > 20;

--能用索引

select * from t1 where age 10>30;

--不能用age上的索引

规则1:索引的字段不能参与运算

select * from t1 where substr(name,1,1)='李';

--不能用索引

规则2:索引的字段上不能使用函数

select * from t1 where name like '李%';

--能用索引

查询emp表中hiredate在1982年10月到1999年9月的员工??

select * from emp where to_char(hiredate,'yyyymm') >= '198210' and to_char(hiredate,'yyyymm') <='199909';create index ind_hiredate on emp(hiredate);

--用不上hiredate上的索引

select * from emp where hiredate <= to_date('19990901','yyyymmdd') and hiredate >= to_date('19821001','yyyymmdd');

--能用上hiredate上的索引