首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Innodb开关innodb_file_per_table关闭

Innodb开关innodb_file_per_table关闭
EN

Database Administration用户
提问于 2018-01-22 09:55:36
回答 1查看 226关注 0票数 0

我想关闭inno变量: innodb_file_per_table我发现这只影响新表,如何将此更改也应用于旧表?我试过:

Alter (ALTER TABLE xxx ENGINES=innodb),但不起作用

我可以转储所有东西并恢复整个DB,但是如果可能的话,我想避免这个过程。

EN

回答 1

Database Administration用户

发布于 2018-01-22 12:06:18

你用的是什么版本?你凭什么说“不管用”?

请注意,ibdata1在此过程中不会收缩。只有转储和恢复才能修复这个问题--删除中间的ibdata1文件。但是请注意..。除非您调整转储,否则加载将是全部或无(file_per_table与否)。

我建议只将“大”文件(超过几MB)更改为file_per_table。为什么?使用“小”表,打开.ibd文件的开销虽然很小,但可能会抵消file_per_table的好处。

80-20规则规定,20%的表占用80%的磁盘空间。因此,另一种选择“大”的方法是挑选最大的20%的桌子。

在未来(8.0版),我将把每个数据库的表空间作为小型表的次要建议。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/195905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档