Mysql 存储引擎
2022-06-29
数据库存储引擎是数据库底层软件组件,数据库管理系统使用存储引擎进行创建、查询、更新和删除数据操作。
不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎还可以获得特定的功能。
提示:InnoDB 事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键。MySQL 5.5.5 之后,InnoDB 作为默认存储引擎。
MySQL 提供了多个不同的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。在 MySQL 中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。
MySQL 5.7 支持的存储引擎有 InnoDB、MyISAM、Memory、Merge、Archive、Federated、CSV、BLACKHOLE 等。
查看支持的存储引擎
mysql> show engines;
指定存储引擎
# 创建表,指定存储引擎
create table t1(id int)engine=innodb;
各存储引擎对比
文件对比
InnoDB 存储引擎在硬盘上会对应两个文件;
.frm # 表结构
.ibd # 数据文件, InnoDB 首字母,d 代表 data 数据;
Memory 在硬盘上就一个文件
.frm # 表结构,数据直接放在内存中
MyISAM 在硬盘上对应三个文件
.frm # 表结构
.MYD # data 文件
.MYI # 索引文件