mysql的表空间解读


在innodb存储引擎中数据是按照表空间来组织存储,表空间的表空间文件是实际存在的物理文件,每个表都有独立对应的文件,比较老的mysql 版本均为innodb_file_per_table= off ; 也就是所有innodb类型的库统一存放一个表空间中。innodb_file_per_table 建议打开,毕竟单文件ibddata文件不断的增大存储与共享, 将影响数据处理效率。如何查看当前表空间的存储方式?

 
以mysql 5.7 中mysql 库中的表为例:

 
可以看到user 表是MyISAM存储引擎,time_zone_transition_type 表就是InnoDB , time_zone_transition_type.idb 文件就是该表的独立表空间。
 
InnoDB的数据存储结构是:每一个表都有一个.frm文件存储表的定义信息,还有一个.ibd文件,其这个文件包括了单独一个表的数据内容以及索引内容,也就是2个文件来负责每一个独立的表;
 
MyISAM的数据存储结构是:每个MyISAM表在磁盘上都会存储成三个文件:其每一个文件的名字以表的名字开始,扩展名指出文件类型(作用),其中.frm文件存储表的定义信息;存放数据文件的扩展名为.MYD;存放索引文件的扩展名是.MYI ,也就是3个文件来负责每一个独立的表;
 
那么到底是不是这样,我们确认下,如下图:




通过上面的图示我们可以看出,2张表的引擎是不同的。





 


本文标签: mysql 表空间

内容版权声明:【蓝色网居】部分资源来源于网络,如有侵犯您的所有权,请随时告知我们,我们将立即删除!感谢配合!

转载请注明出处:https://blog.ff56.cn/shujuku/1657876918.html


【手机扫一扫查看文本】

手机扫一扫 手机扫一扫查看文本 手机扫一扫





情况处理 5.7 持久化 增加从库 mysql xtrabackup redis3.0集群环境 mysql5.7 详细过程 dump操作 redis 指定表 数据恢复 postgresql 参数使用 centos7 方案 增量恢复 主从同步 不停机 三台机器 日志归档 redis安装 mysql慢日志 表空间 general_log 常用操作 三主三从 增量备份 慢查询