執行索引

執行索引

索引(Index)是為了加速對表中數據行的檢索而創建的一種分散的存儲結構。索引是針對表而建立的,它是由數據頁面以外的索引頁面組成的,每個索引頁面中的行都會含有邏輯指針,以便加速檢索物理數據。執行索引是指進行數據檢索操作,即對索引表進行檢索,找到數據所在邏輯地址空間的首址。

基本介紹

  • 中文名:執行索引
  • 外文名:Execute Index
  • 學科:計算機
  • 有關術語:索引
  • 領域:作業系統
  • 定義:進行數據檢索操作
簡介,索引類型,普通索引,唯一索引,主鍵索引,候選索引,聚集索引,非聚集索引,

簡介

執行索引是指進行數據檢索操作,即對索引表進行檢索,找到數據所在邏輯地址空間的首址。執行索引一般與索引類型有關。索引類型不同,執行索引的速度是不同的。

索引類型

根據資料庫的功能,可以在資料庫設計器中創建四種索引:普通索引、唯一索引、主鍵索引和聚集索引

普通索引

最基本的索引類型,沒有唯一性之類的限制。普通索引可以通過以下幾種方式創建:
創建索引,例如CREATE INDEX <索引的名字> ON tablename (列的列表);
修改表,例如ALTER TABLE tablename ADD INDEX [索引的名字] (列的列表);
創建表的時候指定索引,例如CREATE TABLE tablename ( [...],INDEX [索引的名字] (列的列表) );

唯一索引

唯一索引是不允許其中任何兩行具有相同索引值的索引。
當現有數據中存在重複的鍵值時,大多數資料庫不允許將新創建的唯一索引與表一起保存。資料庫還可能防止添加將在表中創建重複鍵值的新數據。例如,如果在 employee 表中職員的姓 (lname) 上創建了唯一索引,則任何兩個員工都不能同姓。
對某個列建立UNIQUE索引後,插入新紀錄時,資料庫管理系統會自動檢查新紀錄在該列上是否取了重複值,在CREATE TABLE 命令中的UNIQE約束將隱式創建UNIQUE索引。
創建唯一索引的幾種方式:
創建索引,例如CREATE UNIQUE INDEX <索引的名字> ON tablename (列的列表);
修改表,例如ALTER TABLE tablename ADD UNIQUE [索引的名字] (列的列表);
創建表的時候指定索引,例如CREATE TABLE tablename ( [...],UNIQUE [索引的名字] (列的列表) );

主鍵索引

簡稱為主索引,資料庫表中一列或列組合(欄位)的值唯一標識表中的每一行,該列稱為表的主鍵。
在資料庫關係圖中為表定義主鍵將自動創建主鍵索引,主鍵索引是唯一索引的特定類型,該索引要求主鍵中的每個值都唯一。當在查詢中使用主鍵索引時,它還允許對數據的快速訪問。
提示儘管唯一索引有助於定位信息,但為獲得最佳性能結果,建議改用主鍵索引。

候選索引

與主索引一樣要求欄位值的唯一性,並決定了處理記錄的順序。在資料庫和自由表中,可以為每個表建立多個候選索引。

聚集索引

也稱為聚簇索引,在聚集索引中,表中行的物理順序與鍵值的邏輯(索引)順序相同。一個表只能包含一個聚集索引, 即如果存在聚集索引,就不能再指定CLUSTERED 關鍵字。
索引不是聚集索引,則表中行的物理順序與鍵值的邏輯順序不匹配。與非聚集索引相比,聚集索引通常提供更快的數據訪問速度。聚集索引更適用於對很少對基表進行增刪改操作的情況。
如果在表中創建了主鍵約束,SQL Server將自動為其產生唯一性約束。在創建主鍵約束時,指定了CLUSTERED關鍵字或乾脆沒有制定該關鍵字,SQL Sever將會自動為表生成唯一聚集索引。

非聚集索引

也叫非簇索引,在非聚集索引中,資料庫表中記錄的物理順序與索引順序可以不相同。一個表中只能有一個聚集索引,但表中的每一列都可以有自己的非聚集索引。如果在表中創建了主鍵約束,SQL Server將自動為其產生唯一性約束。在創建主鍵約束時,如果制定NONCLUSTERED關鍵字,則將為表產生唯一聚集索引。

相關詞條

熱門詞條

聯絡我們