前言
数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。 开发中常用的数据引擎包括MyISMA、InnoDB、MEMORY、MERGE.
1.MyISMA为mysql默认的插件式存储引擎,如果应用是读取跟插入为主,只有很少的更新和删除,并且对事物的完整性、并发性要求不高。
2.InnoDB应用于事务处理应用支持外键,如果应用对完整性要求比较高,并发情况下要求数据的一致性,数据的操作包括CRUD,该引擎就非常适合。InnoDB存储除了有效减低由删除和更新导致的锁定,还保证了事务的完整提交和回滚。
3.MEMORY将所有的数据保存在内存中,在需要定位和其他类似的操作中可提高极快的访问速度;缺陷是对表的大小有限制,表太大无法缓存到内存,其实要保证表的可恢复性。
4.MERGE用于将一系列MyISMA引擎的表以结构相同的方式组合在一起,并可以对其进行引用。优点是在于突破单个MyISMA表大小的限制。