標籤:mysql儲存引擎特點 mysql儲存引擎比較 mysql儲存引擎選擇
Mysql官方儲存引擎比較常見的儲存引擎有:Innodb、MyISAM、Memory、Archive、NDB、BDB,第三方比較有名的:TokuDB、Infobright、InnfiniDB、XtraDB(Innodb增強版本)
官方儲存引擎的特點對比
MySQL儲存引擎比較
| 特性 |
MyISAM |
InnoDB |
Memory |
Archive |
NDB |
BDB
|
| 儲存限制 |
No |
64TB |
Yes |
No |
Yes |
No |
| 事務 |
|
√ |
|
|
|
√ |
| MVCC |
|
√ |
|
√ |
√ |
|
| 鎖粒度 |
Table |
Row |
Table |
Row |
Row |
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,記憶體裡只有索引,而且並發能力差
本文出自 “小魚的部落格” 部落格,請務必保留此出處http://395469372.blog.51cto.com/1150982/1726147
MySQL各儲存引擎特點及選擇建議