gpt4 book ai didi

MySQL 5.6 - InnoDB - DATA_FREE 未使用,但表不断增长

转载 作者:行者123 更新时间:2023-11-29 20:05:20 24 4
gpt4 key购买 nike

innondb_file_per_table = 1

我们有一个大表,其中 data_free 很大。

我们会定期清除此表中的旧数据。

早些时候(当我们使用 MySQL 5.5 时),我们观察到 data_free 被消耗,并且随着归档过程它不断增加,后来被消耗,直到下一次运行归档。

但是在迁移到 5.6 后,我们发现 data_free 没有被利用,但表不断增长。

有什么指示为什么会发生这种情况吗?

最佳答案

这就是生活。 MySQL 不太擅长将磁盘空间返回给操作系统。

由于它是一个单独的 .ibd 文件,因此您可以在定期归档后立即执行OPTIMIZE TABLE。但随后它会恢复到原来的尺寸。

数据是“滑动时间”吗?也就是说,您是否保留一个月的值(value),然后每晚删除一天的值(value)?这是PARTITION大放异彩的一种情况。 DROP PARTITION 确实将分区使用的空间返回给操作系统。如果您想将旧的一天复制到其他地方,那么您需要“可传输表空间”,并且您将需要 5.6(或者更好,5.7)。

有关如何使用分区的更多信息:here .

关于MySQL 5.6 - InnoDB - DATA_FREE 未使用,但表不断增长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40365762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com