插拔式儲存引擎(pluggable storage engines)這是mysql特有的
儲存引擎是指定在表之上的,即乙個庫中的每乙個表都可以指定獨立的儲存引擎
每一種儲存引擎都會生成乙個frm檔案(mysql8取消了該檔案)
5.5.8版本後的預設儲存引擎,之前預設為myisam
支援acids事務
支援行鎖,支援外來鍵
聚集方式儲存資料,每張表的儲存都是按照主鍵的順序進行存放(如果沒有顯示的指定主鍵,會隱式的為每一行生成乙個6 byte的rowid作為主鍵)
因為分詞的原因需要通過第三方實現中文全文索引
不支援事務
表鎖支援全文索引
5.5.8版本之前預設儲存引擎,臨時表也會用到myisam儲存引擎
myisam儲存引擎的快取只快取索引檔案,而不快取資料檔案(mysql8快取模組去除)
select count(*) from table 不需要掃表
只支援insert和select操作
5.1版本後支援索引,只允許自增id建立索引
使用zlib演算法壓縮資料進行儲存,資料儲存為arz檔案格式
行級鎖不支援事務
資料占用磁碟少
應用場景:
日誌系統
大量的裝置資料採集
資料存放到記憶體中,io效率要比其他引擎高
資料庫重啟或崩潰資料丟失,記憶體資料表預設只有16m
經常用在臨時表中
支援hash索引,btree索引,預設使用雜湊索引,而不是b+tree
只支援表鎖
不支援text、blob、儲存varchar時是按照char的方式進行的(耗費記憶體)
應用場景:
等值查詢熱度較高資料
查詢結果記憶體中的計算,大多數都是採用這中儲存引擎作為臨時表儲存需要計算的資料
各種索引對比:
mysql優化系列 InnoDB引擎優化
innodb維護乙個稱為緩衝池的記憶體儲存區域 用於快取記憶體中的資料和索引 innodb緩衝池將表的索引和資料進行快取,緩衝池允許從記憶體直接處理頻繁使用的資料,這加快了處理速度。在專用資料庫伺服器上,通常將多達80 的物理記憶體分配給innodb緩衝池。因為innodb的儲存引擎的工作方式總是將...
mysql系列之儲存引擎
本篇主要介紹mysql的儲存引擎,說明主要的幾個儲存引擎的特性及其差別。資料庫儲存引擎是資料庫底層軟體元件,資料庫管理系統使用資料引擎進行建立 查詢 更新和刪除資料操作。不同的儲存引擎提供不同的儲存機制 索引技巧 鎖定水平等功能,使用不同的儲存引擎還可以獲得特定的功能。mysql 的核心就是儲存引擎...
mysql之優化 儲存引擎
1.2 myisam 與 innodb 主要區別 1.3 如何選擇mysql的儲存引擎 目前廣泛使用的是myisam和innodb兩種引擎 1.1.1 myisam myisam引擎是mysql 5.1及之前版本的預設引擎,它的特點是 1.1.2 innodb innodb在mysql 5.5後成為...