存储引擎
MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。
中文名 | 存储引擎 |
类型 | MyISAM、InnoDB等 |
内存存储引擎 | 能够在内存中存储所有表格数据 |
优点 | 灵活 |
MySQL常用存储引擎及其作用进行介绍
- InnoDB 存储引擎
- MyISAM 存储引擎
- MEMORY 存储引擎
- ARCHIVE 存储引擎
MyISAM:拥有较高的插入,查询速度,但不支持事物。
扩展名 | 功能说明 |
Frm | 用于存储表的结构 |
Myd | 用于存储数据,是MYData的缩写 |
Myi | 用于存储索引,是MYIndex的缩写 |
相比InnoDB,MyISAM的优点是处理速度快;缺点是不支持事务处理等。
InnoDB:自MySQL 5.5 版本起被指定为默认的存储引擎,用于完成事务、回滚、崩溃修复和多版本并发控制的事务安全处理。同事也是MySQL中第一个提供外键约束的表引擎,尤其是对事务处理的能力,是首选的,并且支持ACID事务,支持行级锁定。还有一个优势在于提供了良好的事务管理、崩溃修复能力和并发控制。
Memory:在Memory存储引擎中,所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但不能持久保存(程序出错或关机时会丢失数据),而且不能存储太大的数据。对于数据量小、不需要持久保存的数据来说,Memory存储引擎是一个理想的选择。
Archive:非常适合存储数量庞大、长期维护但很少被访问的数据。因为它们不经常被读取。Archive存储引擎仅仅支持查询和插入操作,且由于不支持数据索引,查询效率比较低。
存储引擎——查看数据引擎
若要查看 MySQL 当前支持哪些存储引擎,可以使用以下 SQL 命令。
Engines 参数表示储存引擎的的名称;Suppot 参数表示 MySQL 是否支持该类引擎; Comment 参数是对该引擎的评论与描述。InnoDB 是 MySQL 的默认储存引擎。