MySQL myisam表的索引結構以及查詢過程

2021-10-11 18:45:11 字數 325 閱讀 8752

myisam用的是非聚集索引方式,即資料和索引落在不同的兩個檔案上(myd是資料檔案 , myi是索引檔案)。

myisam在建表時以主鍵作為key來建立主索引b+樹,樹的葉子節點存的是對應資料的實體地址。我們拿到這個實體地址後,就可以到myisam資料檔案中直接定位到具體的資料記錄了。

當我們為某個字段新增索引時,我們同樣會生成對應欄位的索引樹,該字段的索引樹的葉子節點同樣是記錄了對應資料的實體地址,然後也是拿著這個實體地址去資料檔案裡定位到具體的資料記錄。

Mysql MyISAM 壓縮(字首壓縮)索引

myisam使用字首壓縮來縮小索引,從而讓更多的索引能夠放入記憶體中達到快速索引的目的 我們都知道innodb儲存引擎的索引維護過程中會儲存完整的列值到索引節點,myisam則有所不同,比如我們在乙個varchar列上建立了索引,儲存了類似 chin china chinese 字串,那麼在myis...

mysql MyISAM表的儲存格式

myisam支援三種不同的儲存格式 固定格式,動態格式,已壓縮格式 只能使用myisampack工具來建立 靜態表特徵 固定格式 靜態格式是myisam表的預設儲存格式。當表不包含變數長度列 varchar,blob,或text 時,使用這個格式。每一行用固定位元組數儲存。靜態格式是三種儲存格式中最...

mysql MYISAM表批量壓縮

關於對myisam表的壓縮,可以使用myisampack和myisamchk完成 myisampack完之後必須進行myisamchk才能使用壓縮後的表,而且是唯讀的 其詳細地用法可以參考官方文件 這兩個操作需要謹慎使用,在壓縮之前需要確認mysqld已關閉或者要壓縮的表不會有其他的sql操作 而且...