生产中的MySQL变量innodb_file_per_table激活

时间:2016-04-21 11:23:39

标签: mysql performance mysql-5.5

我有一个MySQL-Server 5.5,每个表中有大约5.000.000条记录。

现在我要激活变量" innodb_file_per_table = 1"。

这可能吗? 这样做有风险吗?

原因是激活选项,是为了优化性能。

谢谢和问候 克里斯

2 个答案:

答案 0 :(得分:1)

innodb_file_per_table是一个动态变量 - 改变它可以安全地完成而不需要重新启动服务器......但是最大的警告是你永远无法回收ibdata文件所消耗的磁盘空间

在启用设置的情况下重建的表将拥有自己的表空间文件,但如果没有转储,则ibdata1无法缩小,然后删除ibdata1并重新初始化服务器,然后重新加载所有数据。

"性能"不一定是更改工作服务器上的设置的正当理由。

答案 1 :(得分:0)

有可能。官方docs中提到了所有优点和可能的缺点 此外,您应该知道只有新表才会在分离的表空间中创建,或者您可以重建任何现有表以从共享表空间移动。