MyISAM以.frm、.MYD、.MYI文件存储,适合查询为主场景;2. InnoDB以.frm和.ibd或ibdata文件存储,支持事务和外键,适合高并发事务型应用。

mysql中存储表的形式主要取决于存储引擎,最常见的两种表存储形式是MyISAM和InnoDB。
1. MyISAM 表存储形式
MyISAM 是 MySQL 早期默认的存储引擎,其表数据以以下三个文件形式存储在磁盘上:
- .frm 文件:存储表结构定义,每个表都有一个对应的 .frm 文件。
- .MYD 文件(MYData):存储表的实际数据。
- .MYI 文件(MYIndex):存储表的索引信息。
MyISAM 存储引擎不支持事务、外键,但读取速度快,适合以查询为主的场景。
2. InnoDB 表存储形式
InnoDB 是目前 MySQL 默认的存储引擎,支持事务处理和外键约束。它的存储方式与 MyISAM 不同:
- .frm 文件:同样用于存储表结构。
- 共享表空间或独立表空间:数据和索引统一存储在 .ibd 文件中(启用独立表空间时),或者集中存储在 ibdata 文件中。
InnoDB 将数据组织成索引组织表(iot),主键索引和数据存储在一起,提高了查询效率,尤其适合高并发、事务密集型应用。
基本上就这两种主流形式,具体使用哪种取决于业务需求和性能要求。