- 一个InnoDB表包含两部分,即表结构定义和数据
- 在MySQl8.0表结构存在.frm为后缀的文件里。
- MySQL8.0版本,则已允许把表结构定义放在系统数据表中
- 因为表结构定义占用的空间很小
参数innodb_file_per_table
表数既可以存在共享表空间里,也可以单独的文件,这个行为是参数innodb_file_per_table控制的;
- 这个参数设置为OFF表示:表的数据放在系统共享表空间,也就是数据字典
- 这个参数ON表示:每个InnoDB表数据存储在一个以.ibd为后缀的文件中。
MySQL5.6.6版本开始,他的默认值就是ON
- 一个表单独存储为一个文件更容易管理
- 你不需要这个表的时候,通过drop table命令,系统就会直接删掉这个文件
- 如果放在共享表空间上,即使表删掉了,空间也不会回收