【发布时间】:2010-12-28 13:10:02
【问题描述】:
我有一张由大块组成的表,我想对其进行一些测试。
我知道 innodb 不会回收已删除的空间,因此我决定通过更新其自己的值而不是创建新记录来重用现有记录。
但我注意到,无论是删除并插入新条目,还是对现有 ROW 进行更新,InnoDB 都在不断增长。
假设我有 100 行,每行存储 500KB 的信息,我的 InnoDB 大小为 10MB,现在当我对所有行调用 UPDATE(不插入/不删除)时,innodb 每次运行都会增长约 8MB。我所做的只是在每行中准确存储 500KB 的数据,几乎没有修改,并且 blob 的大小是固定的。
我能做些什么来防止这种情况发生?
我知道优化表,但我不能这样做,因为在正常使用时,表将是 60-100GB 大,运行优化只会让整个服务器停止。
【问题讨论】: