mysql官方儲存引擎比較常見的儲存引擎有:innodb、myisam、memory、archive、ndb、bdb,第三方比較有名的:tokudb、infobright、innfinidb、xtradb(innodb增強版本)
官方儲存引擎的特點對比
mysql儲存引擎比較
特性myisam
innodb
memory
archive
ndbbdb
儲存限制
no64tb
yesno
yesno事務√
√mvcc√√
√鎖粒度
table
rowtable
rowrow
page
b樹索引√√
√√√雜湊索引√√
√全文索引
√5.6支援e文
集群索引
√資料快取√√
√索引快取√√
√√資料壓縮√√
批量插入
高相對低
高非常高高高
記憶體消耗低高
中低高低
外來鍵支援
√複製支援√√
√√√√
查詢快取√√
√√√√
備份恢復√√
√√√√
集群支援√
tokudb:支援資料壓縮,支援高速寫入的乙個引擎,但是不適合update多的場景
infobright/infinidb:基於列儲存的引擎,適用於olap環境,infobright社群版只支援load data操作
選擇儲存引擎及建議:根據不同的業務去選擇適合業務的儲存引擎,mysql的儲存引擎很多,不同的庫,不同的表都支援選擇不同的儲存引擎,推薦同乙個庫用同一種儲存引擎,因為不同儲存引擎的表之間join操作比較慢
常用推薦:innodb,非特殊的場景,innodb儲存引擎一般都可以滿足需求
如果有大資料寫入批量讀取操作:tokudb
針對olap可以考慮使用infinidb/infobright
如果針對資料量小要求速度快,無持久化要求:memory
盡量不要選擇myisam儲存引擎:因為myisam儲存引擎只能用的單個cpu,記憶體只能用到4個g,記憶體裡只有索引,而且併發能力差
MYSQL各儲存引擎engine的特點
個人學習過程中總結,如有不同見解望交流。儲存引擎是什麼?mysql的儲存引擎是為了解決不同業務的需求所提供的多種資料儲存方式的選擇。例如乙個業務的資料要求支援事務,這時候就要選擇可以支援事務的儲存引擎。mysql中設定儲存引擎 例 create table table name column typ...
MySQL各儲存引擎
mysql中的資料用各種不同的技術儲存在檔案 或者記憶體 中。這些技術中的每一種技術都使用不同的儲存機制 索引技巧 鎖定水平並且最終提供廣泛的不同的功能和能力。通過選擇不同的技術,你能夠獲得額外的速度或者功能,從而改善你的應用的整體功能。這些不同的技術以及配套的相關功能在mysql中被稱作儲存引擎 ...
MySQL各儲存引擎
mysql中的資料用各種不同的技術儲存在檔案 或者記憶體 中。這些技術中的每一種技術都使用不同的儲存機制 索引技巧 鎖定水平並且最終提供廣泛的不同的功能和能力。通過選擇不同的技術,你能夠獲得額外的速度或者功能,從而改善你的應用的整體功能。這些不同的技術以及配套的相關功能在mysql中被稱作儲存引擎 ...