MySQL 选用存储引擎
MyISAM引擎:
- Mysql5.0以前使用较多
- 数据读取速度很快
- 适合读多写少的场景
- 不支持事务
- 为保证数据一致性,写入数据时锁表所表不允许其他的并发写入,但是如果要连续的写入多条数据,想要一起回滚是绝对不可能的
InnoDB引擎
- 现在mysql的默认引擎
- 支持事物
- 锁表变成行锁
- 适合读多写多场景
TokuDB引擎
- 需要额外安装
- 只支持Linux
- 写入数据的速度是InnoDB的9-20倍
- 数据的压缩比是InnoDB的十四倍
- 适合写多读少的场景
需要额外的去安装,并且只支持Linux系统,这个引擎很多人都没有听说过,但是它的用处可一点都不小,因为InnoDB DB引擎的单表数据量如果超过了2000万,那么这张表的读写速度就会明显的下降,因此说我们要把数据表中不常用的过期数据转移到归档表里面,这样业务表的空间就腾出来了,读写速度也就恢复了,归档数据表,因为存储的数据量非常大,当我们归档的时候需要向其中顺时写入很多数据,那么TokuDB引擎正好可以胜任,同样在事务机制下TokuDB引擎的写入速度是InnoDB引擎的9~20倍,数据的压缩比更是InnoDB DB引擎的14倍,因为过期数据存放在归档表里边很少被查找,所以用TokuDB引擎这种写多读少的引擎来存放正好合适。