我想关闭inno变量: innodb_file_per_table我发现这只影响新表,如何将此更改也应用于旧表?我试过:
Alter (ALTER TABLE xxx ENGINES=innodb),但不起作用
我可以转储所有东西并恢复整个DB,但是如果可能的话,我想避免这个过程。
发布于 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版),我将把每个数据库的表空间作为小型表的次要建议。
https://dba.stackexchange.com/questions/195905
复制相似问题