MySQL体系结构
存储引擎介绍
存储引擎就是存储数据、建立索引、更新 / 查询数据等技术的实现方式 。存储引擎是基于表的,而不是 基于库的,所以存储引擎也可被称为表类型。我们可以在创建表的时候,来指定选择的存储引擎,如果 没有指定将自动选择默认的存储引擎。建表时指定存储引擎
CREATE TABLE 表名(
字段1 字段1类型 [ COMMENT 字段1注释 ] ,
......
字段n 字段n类型 [COMMENT 字段n注释 ]
) ENGINE = INNODB [ COMMENT 表注释 ] ;
查询建表语句 --- 默认存储引擎: InnoDB
create table my_myisam(
id int,
name varchar(10)
) engine = MyISAM ;
创建表
my_memory ,
指定
Memory
存储引擎
create table my_memory(
id int,
name varchar(10)
) engine = Memory ;
查询当前数据库支持的存储引擎
show engines;
存储引擎特点
InnoDB
InnoDB 是一种兼顾高可靠性和高性能的通用存储引擎,在 MySQL 5.5 之后, InnoDB 是默认的 MySQL 存储引擎。特点
DML 操作遵循 ACID 模型,支持事务; 行级锁,提高并发访问性能; 支持外键 FOREIGN KEY 约束,保证数据的完整性和正确性;文件
xxx.ibd : xxx 代表的是表名, innoDB 引擎的每张表都会对应这样一个表空间文件,存储该表的表结 构( frm- 早期的 、 sdi- 新版的)、数据和索引。 文件是基于二进制存储的,不能直接基于记事本打开,我们可以使用 mysql 提供的一 个指令ibd2sdi ,通过该指令就可以从 ibd 文件中提取sdi信息![](/i/ll/?i=direct/b909f732ccf74f0a9aaab4ab5ac5a530.png)