存储引擎
数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建、查询、更新和删除数据操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎还可以获得特定的功能。
mysql常见的存储引擎
mysql提供了多个不同的存储引擎,用户可以根据应用的需求选择合适的存储引擎。
存储引擎之间的区别
不同的存储引擎在功能上有不同的区别,根据对功能的需求选择合适的存储引擎。
功能 | MylSAM | MEMORY | InnoDB | Archive |
---|---|---|---|---|
存储限制 | 256TB | RAM | 64TB | None |
支持事务 | × | × | √ | × |
支持全文索引 | √ | × | × | × |
支持树索引 | √ | √ | √ | × |
支持哈希索引 | × | √ | × | × |
支持数据缓存 | × | N/A | √ | × |
支持外键 | × | × | √ | × |
如果要提供提交、回滚、崩溃恢复能力的事物安全(ACID兼容)能力,并要求实现并发控制,InnoDB是一个好的选择
如果数据表主要用来插入和查询记录,则MyISAM引擎能提供较高的处理效率
如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的Memory引擎,MySQL中使用该引擎作为临时表,存放查询的中间结果
如果只有INSERT和SELECT操作,可以选择Archive,Archive支持高并发的插入操作,但是本身不是事务安全的。Archive非常适合存储归档数据,如记录日志信息可以使用Archive