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

來源:互聯網
上載者:User

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

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

表或視圖可以包含以下類型的索引:

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

   非叢集索引具有獨立於資料行的結構。非叢集索引包含非叢集索引索引值,並且每個索引值項都有指向包含該索引值的資料行的指標。從非叢集索引中的索引行指向資料行的指標稱為行定位器。行定位器的結構取決於資料頁是儲存在堆中還是聚集表中。對於堆,行定位器是指向行的指標。對於聚集表,行定位器是叢集索引鍵。

 

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

索引和約束

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

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.