存储引擎的选择
不同的存储引擎都有各自的特点,以适应不同的需求,如下表所以:
- 如果要提供提交、回滚、崩溃恢复能力的事务安全(
ACID
兼容)能力,并要求实现并发控制,InnoDB
是一个好的选择。 - 如果数据表主要用来插入和查询记录,则
MyISAM
引擎能提供较高的处理效率。 - 如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择数据保存在内存中的
Memory
引擎,MySQL
中使用该引擎作为临时表,存放查询的中间结果。 - 如果只有
INSERT
和SELECT
操作,可以选择Archive
,Archive
支持高并发的插入操作,但是本身不是事务安全的。Archive
非常适合存储归档数据,如果记录日志信息可以使用Archive
。
使用哪一种引擎需要灵活选择,一个数据库中多个表可以使用不同引擎以满足各种性能和实际需求,使用合适存储引擎,将会提高整个数据库的性能。
常用的表的存储引擎是InnoDB
和MyISAM
;
InnoDB
:支持事物;MyISAM
:不支持事物,优势是访问速度快,对事物没有要求或者以select
、insert
为主都可以使用该引擎来创建表。
两个引擎的对比: