溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle單列索引和組合索引性能測試

發(fā)布時間:2020-07-25 12:00:19 來源:網(wǎng)絡 閱讀:3560 作者:1105472011 欄目:關(guān)系型數(shù)據(jù)庫

共有兩張表t1,t2

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

oracle單列索引和組合索引性能測試

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

oracle單列索引和組合索引性能測試


t1和t2通過

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行

為保證查詢測試準確(不受緩存結(jié)果的影響)

在執(zhí)行下一次查詢前都會執(zhí)行以下語句

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

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';

測試

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單列索引和組合索引性能測試

t1,t2都是全表掃描

2、在t2.a1建索

oracle單列索引和組合索引性能測試

看查詢結(jié)果


oracle單列索引和組合索引性能測試

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

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

oracle單列索引和組合索引性能測試

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

oracle單列索引和組合索引性能測試

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單列索引和組合索引性能測試

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

oracle單列索引和組合索引性能測試


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

索引唯一掃描(index unique scan)

索引范圍掃描(index range scan)

索引全掃描(index full scan)

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


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



向AI問一下細節(jié)

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

AI