mysql索引:密集索引和稀疏索引的區別
阿新 • • 發佈:2020-10-17
mysql索引
密集索引
定義:密集索引檔案中的每個搜尋碼值都對應一個索引值。
特點:
- B+樹葉子節點儲存的不僅僅是鍵值,還儲存了該行的其他列的資訊
- 密集索引決定了表的物理排列順序,所以一個表只能有且僅有一個密集索引
MySQL資料庫中,InnoDB定義密集索引:
注意:一般InnoDB的稀疏索引,儲存的是主鍵資訊
InnoDB檔案儲存方式:索引和資料儲存在一個.ibd
檔案中
稀疏索引
定義:稀疏索引檔案只為索引碼的某些值建立索引項
特點:B+樹葉子節點儲存的是鍵位資訊和該行資料的地址,或儲存的是鍵位資訊和主鍵
MySQL資料庫中:
不論是什麼索引,MyISAM中,都是稀疏索引
注意:一般MyISAM的稀疏索引,儲存的是行的地址值
MyISAM引擎的檔案儲存方式:索引和資料分別存放,索引存放在.MYI
檔案下,資料存放在.MYD
檔案項