溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

oracle單列索引和組合索引性能測(cè)試

發(fā)布時(shí)間:2020-08-03 21:56:09 來(lái)源:網(wǎng)絡(luò) 閱讀:2527 作者:wangguojing609 欄目:關(guān)系型數(shù)據(jù)庫(kù)

共有兩張表t1,t2

t1的表結(jié)構(gòu)

 oracle單列索引和組合索引性能測(cè)試

t2的表結(jié)構(gòu)

 oracle單列索引和組合索引性能測(cè)試


t1和t2通過(guò)

insert into t1 values ('www','aaa','bbb');

insert into t1 values ('www1','aaa1','bbb1');

insert into t1 values ('www2','aaa2','bbb2');

insert into t1 values ('www3','aaa3','bbb3');

t2同理構(gòu)建

insert into t1 select * from t1;

insert into t2 select * from t2;

構(gòu)建數(shù)據(jù)共:

t1共262144行

t2共524288行

為保證查詢(xún)測(cè)試準(zhǔn)確(不受緩存結(jié)果的影響)

在執(zhí)行下一次查詢(xún)前都會(huì)執(zhí)行以下語(yǔ)句

ALTER SYSTEM FLUSH SHARED_POOL (清空語(yǔ)句,執(zhí)行計(jì)劃緩存)

ALTER SYSTEM FLUSH  BUFFER_CACHE (清空數(shù)據(jù)緩存)

select t1.a1,t2.a1 from t1,t2 where t1.a3=t2.a3 and t2.a1='www';

select t1.a1,t2.a1 from t1 join t2 using(a3) where t2.a1='www';

我們先用

select t1.a1,t2.a1 from t1,t2 where t1.a3=t2.a3 and t2.a1='www';

測(cè)試

explain plan for select t1.a1,t2.a1 from t1,t2 where t1.a3=t2.a3 and t2.a1='www';

SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY); 

1、不建任何索引

 oracle單列索引和組合索引性能測(cè)試

t1,t2都是全表掃描

2、在t2.a1建索

 oracle單列索引和組合索引性能測(cè)試

看查詢(xún)結(jié)果


 oracle單列索引和組合索引性能測(cè)試

t1全表掃描,t2范圍索引掃描

3、在t2.a1和t1.a3建非唯一索引

 oracle單列索引和組合索引性能測(cè)試

4、在t2.a1,t2.a3和t1.a3建非唯一索引

 oracle單列索引和組合索引性能測(cè)試


5,在t1.a1,t1.a3建立組合索引,在t2.a3建非唯一索引

select t1.a1,t2.a1 from t1,t2 where t1.a3=t2.a3 and t2.a1='www';

 oracle單列索引和組合索引性能測(cè)試

6、在t1,t2的a1和t3列建立組合索引

 oracle單列索引和組合索引性能測(cè)試


根據(jù)索引的類(lèi)型與where限制條件的不同,有4種類(lèi)型的索引掃描:

索引唯一掃描(index unique scan)

索引范圍掃描(index range scan)

索引全掃描(index full scan)

索引快速掃描(index fast full scan)


后續(xù)逐步完善測(cè)試結(jié)果!


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI