本篇內(nèi)容主要講解“數(shù)據(jù)庫(kù)組合索引的選擇原則是什么”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“數(shù)據(jù)庫(kù)組合索引的選擇原則是什么”吧!
創(chuàng)新互聯(lián)專注于多倫企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),成都商城網(wǎng)站開(kāi)發(fā)。多倫網(wǎng)站建設(shè)公司,為多倫等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站建設(shè),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
表上的索引是根據(jù)什么建立的,特別是組合索引,有多個(gè)的時(shí)候優(yōu)化器又怎么選擇使用哪個(gè)呢,
今天做個(gè)試驗(yàn)驗(yàn)證下
新建這個(gè)表testindex
表結(jié)構(gòu)
Name Type Nullable Default Comments
---------- ------------- -------- ------- --------
CREATETIME DATE Y
LOC VARCHAR2(100) Y
STATUS VARCHAR2(20) Y
COL1 VARCHAR2(10) Y
testindex上只有兩個(gè)索引
right1 loc,createtime,status
right2 createtime,loc,status
收集表統(tǒng)計(jì)信息
BEGIN
DBMS_STATS.GATHER_TABLE_STATS(ownname => 'TEST',
tabname => 'TESTINDEX',
estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE,
method_opt => 'for all columns size skewonly',
cascade=>TRUE
);
END;
收集統(tǒng)計(jì)信息可參考
http://blog.csdn.net/robinson1988/article/details/5329522
根據(jù)條件取值范圍不同執(zhí)行sql
Select *
From testindex
Where CREATETIME = :1
And loc > :3
And status =:4
走createtime,loc,status索引
Select *
From testindex
Where CREATETIME > :1
And loc = :3
And status =:4
走loc,createtime,status索引
說(shuō)明選擇組合索引時(shí)根據(jù)查詢條件判斷,取值越精準(zhǔn),范圍越小的字段createtime/loc放前面的索引越優(yōu)先被選擇
這里收集統(tǒng)計(jì)信息還是很必要的,上面這個(gè)選擇索引的規(guī)則和直方圖,是否有其他索引關(guān)系應(yīng)該不大
到此,相信大家對(duì)“數(shù)據(jù)庫(kù)組合索引的選擇原則是什么”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!