1. 程式人生 > 資料庫 >SQLServer中索引的兩種型別?

SQLServer中索引的兩種型別?

a. 聚簇(或者叫做聚集,cluster)索引和非聚簇索引。

b. 字典的拼音目錄就是聚簇(cluster)索引,筆畫目錄就是非聚簇索引。這樣查詢“G到M的漢字”就非常快,而查詢“6劃到8劃的字”則慢。聚簇索引是一種特殊索引,它使資料按照索引的排序順序存放表中。聚簇索引類似於字典,即所有詞條在字典中都以字母順序排列。聚簇索引實際上重組了表中的資料,所以你只能在表中建立一個聚簇索引。當資料按值的範圍查詢時,聚簇索引就顯得特別有用。因為所有SQLServer都必需先找到所查詢範圍的第一行,然後依次下去,直到該範圍的最後一個值找到為止,並且保證了所有其他值也落在這個範圍內。舉一個例子,一個應用程式要查詢首字母位於G和P之間的姓名列表,SQLServer首先找到以字母G開頭的名字,取出所有記錄,直到找到以字母P開頭的名字為止,這種方法使得查詢過程非常高效。

c. 進行大量資料改動的表不適宜用聚簇索引,因為SQLServer將不得不在表中維護行的次序。如果要索引的值極少,例如一個列包含的全都是1和0,建立聚簇索引就不是個好主意。如果表經常由一個指定的列來排序,該列將是簇索引的最佳候選列。這是因為表中的資料已經為你排好序了。如果訪問一個表並使用BETWEEN、<、>、>=或<=操作符來返回一個範圍的值時,應該考慮使用聚簇索引。