当前位置:首页 > 天道酬勤 > 正文内容

简述什么是mysql(mysql表空间怎么查询)

张世龙2021年12月20日 15:44天道酬勤1160

在MySQL中也出现了表空间的概念,如oracle。

mysql表空间是什么意思?

在使用innodb数据库引擎打开innodb的名为innodb_file_per_table的参数后(innodb_file_per_table=1),也就是说,innodb 在这种情况下,如果在innodb数据库下创建新表,则在相应的数据库目录下会增加一个名为. ibd的文件。 这是与表对应的数据文件。 mysql将此innodb表中的数据存储在此文件中。 每个innodb表此时都对应于这样的ibd文件。 不像以前那样,所有的表都在一个数据文件中。

那么,这样做有什么好处呢?

可以在不同的数据库之间移动单个表。 具体怎么移动? 假设有两个数据库,一个是test,另一个是tt。

缺省情况下,InnoDB将所有数据库InnoDB引擎的表数据存储在名为ibdata1的共享空间中。 这样我就不舒服了。 添加或删除数据库时,ibdata1文件不会自动缩小,个别数据库的备份也是个问题。 通常,只能使用mysqldump导出数据,然后导入数据以解决此问题。 共享表空间在Insert操作中没有什么优势。 其他独立的表空间工作不顺利。 如果要启用独立表空间,请适当调整innodb_open_files的值。

-------------请参见

另外,需要说明的是:

1、设定独立的表空间后,变更为共享表空间时,如果此时执行表的插入操作,数据会存储在哪里呢?

以前存在的表存储在独立的表空间中。 如果是新表,则存储在共享表空间中。

2、如果最初使用的是独立的表空间,然后变更innodb_file_per_table变量的值,变更为独立的表空间,数据会如何存储?

对于现有innodb引擎表,数据存储在共享表空间中,但在创建新表时,会将. ibd文件添加到数据库目录中,以存储新表的数据。

总结上面的1、2,原来的东西用原来的方法保存。 新表将根据新规则存储。

扫描二维码推送至手机访问。

版权声明:本文由花开半夏のブログ发布,如需转载请注明出处。

本文链接:https://www.zhangshilong.cn/work/25720.html

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。