一、MySQL存储引擎选择
1、常用存储引擎对比
存储引擎的主要作用是进行数据的存取和检索,也是真正执行 SQL 语句的组件。
1)MyISAM 和 InnoDB 的主要区别
MyISAM:
- 5.5 版本之前的默认引擎。
- 支持全文索引、压缩、空间函数等。
- 不支持事务和行级锁,所以一般用于读多写少的场景。
- 不支持外键。
- 索引和数据是分开存储的。
InnoDB:
- 5.5 版本之后的默认引擎。
- 支持事务、支持外键。
- 通过 MVCC 来支持高并发。
- 基于聚簇索引建立的,索引和数据存储在一起。
2、InnoDB 特性
InnoDB 存储引擎(Storage Engine)是 MySQL 默认之选,所以非常典型。
InnoDB 的整体架构分为两个部分:内存架构和磁盘架构,如图: