MySQL優化系列3 儲存引擎

2022-06-28 17:24:12 字數 913 閱讀 4005

插拔式儲存引擎(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後成為...