InnoDB 和 MyISAM 的区别
- InnoDB 支持事务,MyISAM 不支持,这是 MySQL 将默认存储引擎从 MyISAM 变成 InnoDB 的重要原因之一
- InnoDB 支持外键,MyISAM 不支持,对一个包含外键的 InnoDB 表转为 MyISAM 会失败
- InnoDB 是聚集索引(聚簇索引),MyISAM 是非聚集索引
- InnoDB 最小的锁粒度是行锁,MyISAM 最小的锁粒度是表锁,这也是默认存储引擎改变的重要原因之一
- MyISAM 在硬盘上存储为三个文件
- .frm:表的定义
- .myd:数据文件
- .myi:索引文件
- InnoDB 是两个文件(没有专门保存数据的文件)
- .frm:表的定义
- .ibd:数据和索引文件,数据也会保存在叶子节点中
- 全文索引都支持