資料庫的索引

2021-08-30 10:17:33 字數 970 閱讀 5099

資料庫的索引

1.

索引的分類:聚集索引(clustered index

,也稱聚類索引、簇集索引)和非聚集索引(

nonclustered index

,也稱非聚類索引、非簇集索引)。

我們把這種內容本身就是一種按照一定規則排列的目錄稱為「聚集索引」。

我們把這種目錄純粹是目錄,正文純粹是正文的排序方式稱為「非聚集索引」。

由於聚集索引跟內容的儲存順序相關,因此乙個表只能存在乙個聚集索引。使用聚集索引的最大好處就是能夠根據查詢要求,迅速縮小查詢範圍,避免全表掃瞄。 2.

索引的實現:hash

,b樹。。 3.

索引的使用:區分單列索引及聯合索引:

舉例如下:

查詢語句「select * from t1 where c1=1 and c2=2

」中,

case1

:c1列和c2

列上分別建有索引ic1

、ic2

,那麼先使用ic1(

或ic2)

進行過濾,

產生的結果集是臨時資料,不再具有索引,所以不可使用ic2(

或ic1)

進行再次過濾。

case2

:假設存在組合索引it1c1c2(c1,c2)

,那麼查詢語句「select * from t1

where c1=1 and c2=2

」將能夠使用該索引。

並且查詢語句「select * from t1 where c1=1

」也能夠使用該索引。但是,查詢語句「s

elect * from t1 where c2=2

」不能夠使用該索引,因為沒有組合索引的引導列,即,要

想使用c2

列進行查詢,必需出現c1

等於某值。

因此,where

條件語句寫的順序對索引來講,是至關重要的。

資料庫 資料庫索引

索引是儲存引擎用於快速找到記錄的一種資料結構。索引以檔案的形式儲存在磁碟中。索引可以包含乙個或多個列的值。儲存引擎查詢資料的時候,先在索引中找對應值,然後根據匹配的索引記錄找到對應的資料行。1.b tree索引 2.雜湊索引 myisam和innodb儲存引擎 只支援btree索引,也就是說預設使用...

資料庫mysql索引 資料庫 mysql索引

mysql 索引 mysql索引的建立對於mysql的高效執行是很重要的,索引可以大大提高mysql的檢索速度。打個比方,如果合理的設計且使用索引的mysql是一輛蘭博基尼的話,那麼沒有設計和使用索引的mysql就是乙個人力三輪車。索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可...

資料庫的索引

索引 使用索引可快速訪問資料庫表中的特定資訊。索引是對資料庫表中一列或多列的值進行排序的一種結構,例如 employee 表的姓 lname 列。如果要按姓查詢特定職員,與必須搜尋表中的所有行相比,索引會幫助您更快地獲得該資訊。索引提供指向儲存在表的指定列中的資料值的指標,然後根據您指定的排序順序對...