DB2索引優(yōu)化的策略選擇
DB2索引優(yōu)化可以讓索引更為高效,而且更加合理,下面就為您詳細(xì)介紹DB2索引優(yōu)化的策略,希望可以讓您對(duì)DB2索引優(yōu)化有更深的了解
DB2索引優(yōu)化:
索引也是一種DB2對(duì)象,他由一組排好序的鍵組成,這些鍵是從相應(yīng)表中的一個(gè)列或多個(gè)列抽取出來(lái)的。通常索引可以提供指向表中被請(qǐng)求的數(shù)據(jù)行的直接指針;如果結(jié)果集要求的順序與索引一致,則可以消除排序;如果被請(qǐng)求的列都包含在索引項(xiàng)中,則可以避免不得不讀數(shù)據(jù)行的情況。
通過(guò)以下一些DB2索引優(yōu)化原則,可以建立比較高效和合理的索引。
(1)在索引中包括WHERE子句中的所有列,這樣,就可以使用索引形成的屏蔽來(lái)拒絕結(jié)果集中不合格的行。
(2)對(duì)于SQL語(yǔ)句中的RODER BY子句中引用到的列,適當(dāng)?shù)膭?chuàng)建索引,這樣可以避免排序。
(3)考慮到管理上的開(kāi)銷(xiāo),應(yīng)避免在索引中使用多于5個(gè)的列。
(4)對(duì)于多列索引,將查詢中引用最多的列放在定義的前面。
(5)基數(shù)較大的列更適合用來(lái)做索引。
(6)不要在索引中包含那些經(jīng)常修改或經(jīng)常進(jìn)行插入、刪除的列。***的例外是主關(guān)鍵字和外來(lái)關(guān)鍵字。
(7)不能種“空值(null)”做索引,任何包含null值的列都不會(huì)被包含在索引中,任何在WHERE子句中使用is null或is not null的語(yǔ)句優(yōu)化器是不會(huì)使用索引的。
【編輯推薦】