- 聚簇(或者叫做聚集,cluster)索引和非聚簇索引。
- 字典的拼音目錄就是聚簇(cluster)索引,筆畫目錄就是非聚簇索引。這樣查詢“G到M的漢字”就非常快,而查詢“6划到8划的字”則慢。聚簇索引是一種特殊索引,它使數據按照索引的排序順序存放表中。聚簇索引類似於字典,即所有詞條在字典中都以字母順序排列。聚簇索引實際上重組了表中的數據,所以你只能在表中建立一個聚簇索引。當數據按值的范圍查詢時,聚簇索引就顯得特別有用。因為所有SQLServer都必需先找到所查詢范圍的第一行,然后依次下去,直到該范圍的最后一個值找到為止,並且保證了所有其他值也落在這個范圍內。舉一個例子,一個應用程序要查找首字母位於G和P之間的姓名列表,SQLServer首先找到以字母G開頭的名字,取出所有記錄,直到找到以字母P開頭的名字為止,這種方法使得查詢過程非常高效。
- 進行大量數據改動的表不適宜用聚簇索引,因為SQLServer將不得不在表中維護行的次序。如果要索引的值極少,例如一個列包含的全都是1和0,創建聚簇索引就不是個好主意。如果表經常由一個指定的列來排序,該列將是簇索引的最佳候選列。這是因為表中的數據已經為你排好序了。如果訪問一個表並使用BETWEEN、<、>、>=或<=操作符來返回一個范圍的值時,應該考慮使用聚簇索引。