2023.8.22 第六届青训营打卡 Day71
今天继续阅读MySQL索引原理相关的文章,这次记录下MySQL两个存储引擎建立索引之后产生的文件:
使用SQL分别创建了两张表:zz_myisam_index、zz_innodb_index,分别使用 MyISAM、InnoDB。
使用 MyISAM 的表会生成有三个文件:
zz_myisam_index.frm:该文件中存储表的结构信息。
zz_myisam_index.MYD:该文件中存储表的行数据。
zz_myisam_index.MYI:该文件中存储表的索引数据。
而 InnoDB 的表只有两个文件:
zz_innodb_index.frm:该文件中存储表的结构信息。
zz_innodb_index.ibd:该文件中存储表的行数据和索引数据。
InnoDB中,表数据和索引数据都一起放在.ibd文件中,也就代表着索引数据和表数据是处于同一块空间存储的,这符合聚簇索引的定义,因此InnoDB支持聚簇索引。
使用 InnoDB 未主动创建聚簇索引,会按照主键 -> 非空唯一索引 -> 引擎定义的隐藏主键的优先级顺序来创建聚簇索引。
展开
评论