索引4 密集索引與稀疏索引

2021-10-02 18:30:55 字數 759 閱讀 8084

u密集索引與稀疏索引區別:

秘籍索引檔案中的每個搜尋碼值都對應乙個索引值

稀疏索引檔案只為索引碼的某些值建立索引項

密集索引的定義:葉子節點儲存的不只是鍵值,還儲存了位於同一行記錄裡的其他列的資訊,由於密集索引決定了表的物理排列順序,乙個表只有乙個物理排列順序,所以乙個表只能建立乙個密集索引

稀疏索引:葉子節點僅儲存了鍵位資訊以及該行資料的位址,有的稀疏索引只儲存了鍵位資訊機器主鍵

mysam儲存引擎,不管是主鍵索引,唯一鍵索引還是普通索引都是稀疏索引

innodb儲存引擎:有且只有乙個密集索引。密集索引的選取規則如下:

1.若主鍵被定義,則主鍵作為密集索引

2.如果沒有主鍵被定義,該錶的第乙個唯一非空索引則作為密集索引

3.若不滿足以上條件,innodb內部會生成乙個隱藏主鍵(密集索引)

4.非主鍵索引儲存相關鍵位和其對應的主鍵值,包含兩次查詢也就是說葉子節點並沒有儲存資料的實體地址

兩次查詢分為:1.搜尋次級索引自身 2.查詢主鍵

innodb索引與資料放在一起

密集索引和稀疏索引的區別

密集索引檔案中每乙個搜尋碼值都對應乙個索引值,就是葉子節點儲存的不只是鍵值,還儲存了位於同一行記錄裡的其他列的資訊,由於密集索引決定了表的物理排列順序,乙個表只有乙個物理排列順序,所以乙個表只能建立乙個密集索引 稀疏索引檔案只為索引碼的某些值建立索引項,比如 innodb的其他索引只存了鍵位資訊和主...

簡單分析下密集索引和稀疏索引的區別

首先先來了解下什麼是索引項 索引值 搜尋碼 索引項包括索引值以及指向該搜尋碼值的第一條資料記錄的指標。從上圖中可以看出 一 密集索引檔案中的每乙個搜尋碼值都對應著乙個索引值 這就可以理解為葉子結點不但需要儲存鍵值 還儲存位於同一行記錄的其他列資訊。由於密集索引決定了表的物理排列順序,乙個表只有乙個物...

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

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