1. 程式人生 > >加快資料庫查詢速度方法--建立索引

加快資料庫查詢速度方法--建立索引

建立索引的目的是加快查詢速度。

索引是與表或檢視關聯的磁碟上結構,可以加快從表或檢視中檢索行的速度。索引包含由表或檢視中的一列或多列生成的鍵。這些鍵儲存在一個結構(如B 樹)中,使資料庫管理系統可以快速有效地查詢與鍵值關聯的行。

表或檢視可以包含以下型別的索引:

    聚集索引根據資料行的鍵值在表或檢視中排序和儲存這些資料行。索引定義中包含聚集索引列。每個表只能有一個聚集索引,因為資料行本身只能按一個順序排序。只有當表包含聚集索引時,表中的資料行才按排序順序儲存。如果表具有聚集索引,則該表稱為聚集表。如果表沒有聚集索引,則其資料行儲存在一個稱為堆的無序結構中。

   非聚集索引具有獨立於資料行的結構。非聚集索引包含非聚集索引鍵值,並且每個鍵值項都有指向包含該鍵值的資料行的指標。

從非聚集索引中的索引行指向資料行的指標稱為行定位器。行定位器的結構取決於資料頁是儲存在堆中還是聚集表中。對於堆,行定位器是指向行的指標。對於聚集表,行定位器是聚集索引鍵。

聚集索引和非聚集索引都可以是唯一的。這意味著任何兩行都不能有相同的索引鍵值。另外,索引也可以不是唯一的,即多行可以共享同一鍵值。每當修改了表資料後,都會自動維護表或檢視的索引。

索引和約束

對錶列定義了 PRIMARY KEY 約束和 UNIQUE 約束時,會自動建立索引。例如,如果建立了表並將一個特定列標識為主鍵,則 資料庫引擎自動對該列建立 PRIMARY KEY 約束和索引。有關詳細資訊,請參閱建立索引(資料庫引擎)。