聚簇索引是一種對磁盤上實際數(shù)據(jù)重新組織以按指定的一個或多個列的值排序。由于聚簇索引的索引頁面指針指向數(shù)據(jù)頁面,所以使用聚簇索引查找數(shù)據(jù)幾乎 總是比使用非聚簇索引快。每張表只能建一個聚簇索引,并且建聚簇索引需要至少相當(dāng)該表120%的附加空間,以存放該表的副本和索引中間頁。建立聚簇索引的 思想是:
1、大多數(shù)表都應(yīng)該有聚簇索引或使用分區(qū)來降低對表尾頁的競爭,在一個高事務(wù)的環(huán)境中,對最后一頁的封鎖嚴(yán)重影響系統(tǒng)的吞吐量。oracle培訓(xùn)
2、在聚簇索引下,數(shù)據(jù)在物理上按順序排在數(shù)據(jù)頁上,重復(fù)值也排在一起,因而在那些包含范圍檢查(between、<、<=、& gt;、>=)或使用group by或order by的查詢時,一旦找到具有范圍中第一個鍵值的行,具有后續(xù)索引值的行保證物理上毗連在一起而不必進一步搜索,避免了大范圍掃描,可以大大提高查詢速度。
3、在一個頻繁發(fā)生插入操作的表上建立聚簇索引時,不要建在具有單調(diào)上升值的列(如IDENTITY)上,否則會經(jīng)常引起封鎖沖突。
4、在聚簇索引中不要包含經(jīng)常修改的列,因為碼值修改后,數(shù)據(jù)行必須移動到新的位置。
5、選擇聚簇索引應(yīng)基于where子句和連接操作的類型。
聚簇索引的侯選列是:
1、主鍵列,該列在where子句中使用并且插入是隨機的。
2、按范圍存取的列,如pri_order > 100 and pri_order < 200。
3、在group by或order by中使用的列。
4、不經(jīng)常修改的列。
5、在連接操作中使用的列。
posted on 2013-08-23 16:06
親愛的小孩 閱讀(120)
評論(0) 編輯 收藏