0
点赞
收藏
分享

微信扫一扫

数据库表的空间介绍

1、表结构组成

一个 InnoDB 表包含两部分,即:表结构定义和数据。

在 MySQL 8.0 版本以前,表结构是存在以.frm 为后缀的文件里。

而 MySQL 8.0 版本,则已经允许把表结构定义放在系统数据表中了。因为表结构定义占用的空间很小,

2、表空间文件

查看表空间文件

表示ibdata1文件的大小为12M,如果用完了这12M,该文件可以自动增长(autoextend)。

设置innodb_data_file_path参数后,所有基于InnoDB存储引擎的表数据都会记录到该共享表空间中。若设置了参数innodb_file_per_table,则用户可以将每个基于InnoDB存储引擎的表产生一个独立表空间。命名规则为:表名.ibd。

3、表数据存储位置

表数据既可以存在共享表空间里,也可以是单独的文件。

这个行为是由参数 innodb_file_per_table 控制的:

这个参数设置为 OFF 表示的是,表的数据放在系统共享表空间,也就是跟数据字典放在一起;

这个参数设置为 ON 表示的是,每个 InnoDB 表数据存储在一个以 .ibd 为后缀的文件中。

从 MySQL 5.6.6 版本开始,它的默认值就是 ON 了。

建议不论使用 MySQL 的

举报

相关推荐

0 条评论