MySQL 存储引擎
维度 | InnoDB | MyISAM |
---|---|---|
优点 | 1. 支持事务 2. 支持行锁 3. 支持外键 4. 事务日志用于数据恢复 | 1. 高性能读 2. 保存表行数 |
缺点 | 1. 不支持fulltext索引(原因:未保存表行数,count统计会扫全表) | 1. 不支持事务 2. 不支持行锁 3. 不支持外键 4. insert和update锁全表 5. 不支持故障恢复 |
适用场景 | 1. 需要事务 2. 大量读写 3. 需要行锁 | 1. 不需要事务 2. select和insert多 3. 频繁的统计计算 |
说明:MyISAM的索引和数据分开存储
存储需要三张表:
- frm:表定义
- myd:数据文件
- myi:索引文件
存储格式:
- 静态:指定列长,比如char
- 动态:可变长,比如varchar、blob、text
- 压缩:myisampack工具创建的只读格式
参考
https://www.jianshu.com/p/e62361448434
https://developer.aliyun.com/article/282809