什麼是Clustered Table,與其他型別的table有何不同

tolywang發表於2007-06-14

cluster的意思是把兩個或兩個以上具有公共列的表在物理上存放在一起,可以節省空間並且使某些關聯操作加快,有hash cluster和index cluster。使用clustered table和普通表沒有太大差別,基本是透明,惟獨在加資料之前,要先做cluster的index .


-----------------------------------------------------------------------------------------------

經常被同時訪問的表在物理位置上可以儲存在一起。為了將它們儲存在一起,就要建立一個簇( c l u s t e r )來管理這些表。表中的資料一起儲存在簇中,從而最小化必須執行的I / O次數,改善系統效能。

表中相關的列稱為簇鍵(cluster key)。簇鍵用一個簇索引(cluster index)來進行索引;對於簇中的多個表,簇鍵值只儲存一次。在把任何行插入簇的表中之前,都必須先建立一個簇索引。對於經常頻繁一起查詢的表說,使用簇比較方便。在簇中,來自不同表的行儲存在同一個塊中;因此同將表分開儲存相比,連線這些表的查詢就可能執行更少的I / O。不過,與對非簇表的相同操作比較,簇表的插入、更新和刪除效能要差很多。在聚簇表之前,要判斷共同查詢這些表的頻率。如果這些表總是一起查詢,就要考慮把它們合併成一個表而不是聚簇兩個表。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-84667/,如需轉載,請註明出處,否則將追究法律責任。

相關文章