您好,登錄后才能下訂單哦!
索引創(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í)間。
免責(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)容。