MySQL各儲存引擎特點及選擇建議

來源:互聯網
上載者:User

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,記憶體裡只有索引,而且並發能力差。

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.