MyISAM的数据文件
MyISAM 数据文件详解:结构、特性与适用场景
MyISAM 是 MySQL 早期的默认存储引擎,其数据存储机制与 InnoDB 有显著差异,采用 “数据与索引分离” 的文件存储方式。了解 MyISAM 的数据文件结构,有助于理解其性能特点和适用场景。
MyISAM 的三大数据文件
MyISAM 为每个表创建三个独立的文件(文件名均以表名开头),分别存储表结构、数据和索引:
| 文件扩展名 | 作用描述 | 示例(表名为 user) |
|---|---|---|
.frm |
存储表的元数据(表结构定义),包括字段类型、约束、索引定义等。 | user.frm |
.MYD |
存储表的实际数据(MYData 的缩写),按插入顺序存储,不与索引绑定。 | user.MYD |
.MYI |
存储表的索引(MYIndex 的缩写),包括主键索引、二级索引等,独立于数据文件。 | user.MYI |
示例:创建 MyISAM 表后的文件
-- 创建一个 MyISAM 引擎的表
CREATE TABLE user (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT
) ENGINE=MyISAM;
执行后,数据库目录下会生成三个文件:
user.frm(表结构)user.MYD(数据)user.MYI(索引)