我有一个MySQL-Server 5.5,每个表中有大约5.000.000条记录。
现在我要激活变量" innodb_file_per_table = 1"。
这可能吗? 这样做有风险吗?
原因是激活选项,是为了优化性能。
谢谢和问候 克里斯
答案 0 :(得分:1)
innodb_file_per_table
是一个动态变量 - 改变它可以安全地完成而不需要重新启动服务器......但是最大的警告是你永远无法回收ibdata
文件所消耗的磁盘空间
在启用设置的情况下重建的表将拥有自己的表空间文件,但如果没有转储,则ibdata1
无法缩小,然后删除ibdata1
并重新初始化服务器,然后重新加载所有数据。
"性能"不一定是更改工作服务器上的设置的正当理由。
答案 1 :(得分:0)
有可能。官方docs中提到了所有优点和可能的缺点 此外,您应该知道只有新表才会在分离的表空间中创建,或者您可以重建任何现有表以从共享表空间移动。