如何使用聚簇索引

  聚簇索引是一種對磁盤上實際數據從新組織以按指定的一個或多個列的值排序。因爲聚簇索引的索引頁面指針指向數據頁面,因此使用聚簇索引查找數據幾乎 老是比使用非聚簇索引快。每張表只能建一個聚簇索引,而且建聚簇索引須要至少至關該表120%的附加空間,以存放該表的副本和索引中間頁。創建聚簇索引的 思想是: git

  一、大多數表都應該有聚簇索引或使用分區來下降對錶尾頁的競爭,在一個高事務的環境中,對最後一頁的封鎖嚴重影響系統的吞吐量。oracle培訓 oracle

  二、在聚簇索引下,數據在物理上按順序排在數據頁上,重複值也排在一塊兒,於是在那些包含範圍檢查(between、<、<=、& gt;、>=)或使用group by或order by的查詢時,一旦找到具備範圍中第一個鍵值的行,具備後續索引值的行保證物理上毗連在一塊兒而沒必要進一步搜索,避免了大範圍掃描,能夠大大提升查詢速度。 spa

  三、在一個頻繁發生插入操做的表上創建聚簇索引時,不要建在具備單調上升值的列(如IDENTITY)上,不然會常常引發封鎖衝突。 指針

  四、在聚簇索引中不要包含常常修改的列,由於碼值修改後,數據行必須移動到新的位置。 排序

  五、選擇聚簇索引應基於where子句和鏈接操做的類型。 索引

  聚簇索引的侯選列是: 事務

  一、主鍵列,該列在where子句中使用而且插入是隨機的。 get

  二、按範圍存取的列,如pri_order > 100 and pri_order < 200。 it

  三、在group by或order by中使用的列。 搜索

  四、不常常修改的列。

  五、在鏈接操做中使用的列。

相關文章
相關標籤/搜索