如何确定是否使用索引

今天花了9牛二虎之力研究了下 索引;

 

我在happy表中插入了22w条数据。

 CREATE TABLE HAPPY(HA VARCHAR2(100)
 ,HB VARCHAR2(100),HC VARCHAR2(100));
 INSERT INTO HAPPY
 SELECT  TRUNC(DBMS_RANDOM.VALUE(),2)*100,TRUNC(DBMS_RANDOM.VALUE(),2)*100,SYS_GUID() FROM dual/happy;

然后在plsql里 执行 创建索引;

 create index index_haid on happy(ha)

 

select hA from happy

查看,发现时全表扫描,nnd,怎么没用索引啊;

 

诶,原来我本来就 没加查询条件,当然是全表扫描;

 

然后我写了select hA from happy where ha=50; 结果发现还是没执行索引,

NND,我又使用了sqlplus里的。强制使用索引
 select /*+ index(index_haid) */ from happy

中间那个不是 plsql的注释,记住;

发现还是未使用索引。我要发狂了。。。

 

终于,我发现了秘密。请看下面!!!

 

 select hA from happy where ha=50;
 select hA from happy where ha='50';
 select hb from happy where ha=50;
 select hb from happy where ha='50';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

信息安全与项目管理

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值