溫馨提示×

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

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

如何創(chuàng)建高效索引

發(fā)布時(shí)間:2020-07-22 16:45:25 來(lái)源:網(wǎng)絡(luò) 閱讀:11682 作者:1016181692 欄目:關(guān)系型數(shù)據(jù)庫(kù)

索引創(chuàng)建指南

1、頻繁在where 從句中出現(xiàn)

2、頻繁在join關(guān)聯(lián)字段中

3、選擇具有高選擇性的鍵

4、別在具有很少的不同值的鍵上使用B-tree索引。這類(lèi)鍵或表達(dá)式經(jīng)常具有較差選擇性,所以不會(huì)是性能有更多的優(yōu)化,

5、除非經(jīng)常選擇的值比其他的值出現(xiàn)的頻次要低。要是這種情況,可有效使用位圖索引,但是如果在高并發(fā)的OLAP系統(tǒng),位圖索引要是經(jīng)常被改動(dòng),則不要使用位圖索引。

6、不要在常被修改到字段上建索引。

7、不要對(duì)僅出現(xiàn)在where從句中的函數(shù)或表達(dá)式中的字段建索引,要么就建函數(shù)索引

8、可考慮在外鍵上建索引。

9、創(chuàng)建一個(gè)索引時(shí),評(píng)估該索引給查詢(xún)帶來(lái)的性能優(yōu)化是否比因其而引起INSERT,UPDATE,DELETE操作的性能下降以及索引占用的空間更要值得。

10、復(fù)合索引

提高了選擇性(有時(shí),組合的選擇性要比單個(gè)列的選擇性要高)

降低I/O(如果鎖被查詢(xún)選擇的列都在復(fù)合索引中,那Oracle可通過(guò)訪(fǎng)問(wèn)索引來(lái)返回值而不需要訪(fǎng)問(wèn)表。)

經(jīng)常在WHERE從句中通過(guò)以AND組合出現(xiàn),并且尤其是組合后比單一鍵選擇性更高,該組合上可考慮常見(jiàn)復(fù)合索引

如果查詢(xún)的列是組合列的子集,可考慮基于這些鍵建復(fù)合索引

索引的順序:

該索引能夠使WHERE從句可組成索引的前導(dǎo)列

如果WHERE從句中有幾個(gè)鍵非常高頻,可僅就這幾個(gè)列鍵建復(fù)合索引

如果所有的列出現(xiàn)在WHERE的頻率都一樣并且數(shù)據(jù)基于其中一列已物理排序,那么可將此列作為復(fù)合索引的第一個(gè)key。

使用非唯一性索引實(shí)現(xiàn)唯一性:
你可以用表的已存在的在UNIQUE約束字段或PRIMARY KEY約束字段上的非唯一性索引強(qiáng)制實(shí)現(xiàn)唯一性。這樣做的好處在于即使約束DISABLE了,

該索引仍然有效。所以,可讓一個(gè)DISABLED的UNIQUE或PRIMARY KEY重新ENABLE,不需要再重建唯一性索引。這樣可以在大數(shù)據(jù)表的ENABLE

操作中節(jié)省很多時(shí)間。


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

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guā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