資料庫索引之稠密索引和稀疏索引

2021-07-10 22:55:44 字數 698 閱讀 6944

在了解稠密索引和稀疏索引之前,我們先了解下什麼是聚集索引。所謂聚集索引指的是:在乙個檔案中可以有多個索引,分別基於不同的搜尋碼。(搜尋碼:用於在檔案中查詢記錄的屬性或屬性集)如果包含記錄的檔案按照某個指定的順序排序,那麼該搜素碼對應的索引就是聚集索引。

稠密索引:

上圖所示:在稠密索引中檔案中的每個搜尋碼值都對應乙個索引值。索引項包括索引值以及指向該搜尋碼值的第一條資料記錄的指標。由於該索引符合聚集索引,因此記錄根據相同的碼值排序。

稀疏索引:

如上圖所示:在稀疏索引中,只為索引碼的某些值建立索引項。同理因為稀疏索引也是聚集索引。每乙個索引項包括索引值以及指向該搜尋碼值的第一條資料記錄的指標。

兩者優缺點:

1.稠密索引比稀疏索引更快地定位一條記錄。

2.稀疏索引所佔空間小,並且插入和刪除時所需的維護開銷也小。

資料庫稠密索引與稀疏索引

一 稠密索引 如果記錄是排好序的,我們就可以在記錄上建立稠密索引,它是這樣一系列儲存塊 塊中只存放記錄的鍵以及指向記錄本身的指標,指標就是乙個指向記錄或儲存塊位址。稠密索引檔案中的索引塊保持鍵的順序與檔案中的排序順序一致。既然我們假定查詢鍵和指標所佔儲存空間遠小於記錄本身,我們就可以認為儲存索引檔案...

mysql 稀疏 稀疏索引和稠密索引你了解嗎?

背景 最近參加了乙個面試,面試官先問了mysql的資料庫的索引的底層資料介面,我回答了 平時都用的是innodb引擎,所以其底層的索引資料型別是b 樹。面試官問我用沒用過稀疏索引。當時就懵了,聚集索引,非聚集索引,主鍵索引,覆蓋索引等等,我也沒聽過什麼是稀疏索引。我反問了一下 面試官這個索引型別是m...

mysql資料庫之索引和分析索引

分析查詢語句是否用到了索引 explain sql語句 g 根據返回的資訊,我們可知,該 sql語句是否使用索引,從多少記錄中取出 可以看到排序的方式 主要是看 key 實際用到的索引 rows 從多少行中找出資料 37萬條的資料 不加索引的情況下 查詢要2秒多 具體我們來分析這個sql語句 看看他...