MySQL各存储引擎特点及选择建议

原文链接:http://395469372.blog.51cto.com/1150982/1726147


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,内存里只有索引,而且并发能力差


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值