今天花了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';