複製鏈接
請複製以下鏈接發送給好友

執行索引

鎖定
索引(Index)是為了加速對錶中數據行的檢索而創建的一種分散的存儲結構。索引是針對表而建立的,它是由數據頁面以外的索引頁面組成的,每個索引頁面中的行都會含有邏輯指針,以便加速檢索物理數據。 [1]  執行索引是指進行數據檢索操作,即對索引表進行檢索,找到數據所在邏輯地址空間的首址。
中文名
執行索引
外文名
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關鍵字,則將為表產生唯一聚集索引。 [2] 
參考資料
  • 1.    周屹 李豔娟.數據庫原理及開發應用(第二版):清華大學出版社,2013
  • 2.    陶程仁.數據庫原理及應用:西南交通大學出版社,2011