myisam與innodb索引比較
- MyISAM支援全文索引(FULLTEXT)、壓縮索引,InnoDB不支援
- InnoDB支援事務,MyISAM不支援
- MyISAM順序儲存資料,索引葉子節點儲存對應資料行位址,輔助索引很主鍵索引相差無幾;InnoDB主鍵節點同時儲存資料行(聚簇索引),其他輔助索引儲存的是主鍵索引的值
- MyISAM鍵值分離,索引載入記憶體(key_buffer_size),資料緩存依賴作業系統;InnoDB鍵值一起儲存,索引與資料一起載入InnoDB緩沖池
- MyISAM主鍵(唯一)索引按升序來存儲存儲,InnoDB則不一定
- MyISAM索引的基數值(Cardinality,show index 指令可以看見)是精确的,InnoDB則是估計值。這裡涉及到資訊統計的知識,MyISAM統計資訊是儲存磁盤中,在alter表或Analyze table操作更新此資訊,而InnoDB則是在表第一次打開的時候估計值儲存在緩存區内
- MyISAM處理字元串索引時用增量儲存的方式,如第一個索引是‘preform’,第二個是‘preformence’,則第二個儲存是‘7,ance‘,這個明顯的好處是縮短索引,但是缺陷就是不支援倒序提取索引,必須順序周遊擷取索引
100) ? false:true" x-data="topBtn" @click="scrolltoTop" x-cloak>