MySQL的存储引擎
概念
数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMs)使用数据引擎进行创建、查询、更新和删除数据。
不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎
可以使用SHOw ENGINES命令可以查看Mysql的所有执行引擎我们可以到默认的执行引擎innoDB支持事务,行级锁定和外键。
在众多存储引擎中,需要重点关注MyISAM和innoDB这两个存储引擎,前者是MySQL5.5之前默认的引擎,后者是MySQL5.5之后默认的引擎。
分类
MyISAM:
Mysgl5.5之前的默认数据库引擎,最为常用。拥有较高的插入,查询速度,但不支持事务
InnoDB:
事务型速记的首选引擎,支持ACID事务,支持行级锁定,MySQL5.5成为默认数据库引擎
Memory:
所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在MYSQL重新启动是会丢失。
Archive :
非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差
Federated:
将不同的MySQL服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用
常用的三个存储引擎对比