我有几个表,它们具有很高的插入和删除量。数据在删除前会在表中停留约2个小时。在任何一点上,服务器上的数据都远远少于可用的磁盘空间。

但是,由于无法在行DELETE上释放磁盘空间,因此表的大小只会不断增加。

通过在它们上运行OPTIMIZE,可以将表的大小减小到合理的水平。但是,这会使系统停机的时间比我想要的更长,而且似乎不是有效的解决方案。

我需要这样做吗?当快要用完时,MySQL会在data_free本身中恢复磁盘空间吗?我不想冒险等待这种情况发生,因为我知道一旦磁盘空间用尽,恢复MySQL服务器将非常困难。

最佳答案

不,MySQL无法恢复磁盘空间-如果磁盘空间不足,系统将完全停止运行,并且可能会丢失数据。
有些表也可能被标记为已崩溃,将需要修复。
(这在我身上发生了一两次...)

关于mysql - 如果MySQL服务器没有足够的磁盘空间,但是有很多data_free,会停止运行吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4987987/

10-13 00:55