什麼是聚集索引

  一種索引,該索引中鍵值的邏輯順序決定了表中相應行的物理順序。

  聚集索引確定表中數據的物理順序。聚集索引類似於電話簿,按姓氏排列數據。由於聚集索引規定數據在表中的物理存儲順序,因此一個表只能包含一個聚集索引。但該索引可以包含多個列(組合索引),就像電話簿按姓氏和名字進行組織一樣。

  聚集索引對於那些經常要搜索範圍值的列特別有效。使用聚集索引找到包含第一個值的行後,便可以確保包含後續索引值的行在物理相鄰。例如,如果應用程序執行的一個查詢經常檢索某一日期範圍內的記錄,則使用聚集索引可以迅速找到包含開始日期的行,然後檢索表中所有相鄰的行,直到到達結束日期。這樣有助於提高此類查詢的性能。同樣,如果對從表中檢索的數據進行排序時經常要用到某一列,則可以將該表在該列上聚集(物理排序),避免每次查詢該列時都進行排序,從而節省成本。

  當索引值唯一時,使用聚集索引查找特定的行也很有效率。例如,使用唯一僱員 ID 列 emp_id 查找特定僱員的最快速的方法,是在 emp_id 列上創建聚集索引或 PRIMARY KEY 約束。

  適用於聚集索引的情況包括:

  1、含有大量非重複值的列。

  2、使用BETWEEN,>,>=,<或<=返回一個範圍值的列

  3、被連續訪問的列

  4、返回大型結果集的查詢

  5、經常被使用連接或GROUP BY子句的查詢訪問的列

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章