表格行的懒惰删除

是否有任何软件从表中“懒”删除行。 当我的服务器空闲时,我想维护我的表,理想情况下我应该能够定义什么是“空闲”(每秒数据库连接数/系统负载/请求数)。 有什么东西与此类似?

在某种程度上,从内部的角度来看,InnoDB已经做到了这一点。 行最初被标记为已删除,但只作为后台操作的一部分而被释放。

我的建议:如果您尝试先检查服务器是否空闲,则可能会遇到不必要的复杂问题。 即

  • 如果它闲置,但清理需要2分钟。 在这2分钟内服务器负载高峰?

  • 如果服务器永远不够闲置呢? 现在你只需要有无限的积压。

如果你只是背景任务,你可能会提高性能,因为现在至少没有用户会坐在网页前等待它完成。 什么是最佳时间安排(上午3点,上午5点等)活动图。

如果你在一个linux服务器上,你可以让你的表清理脚本只能根据命令“w”的输出运行,这会向你显示一个系统负载。 如果你的系统负载低于.25你可以运行你的脚本。 用shell脚本来做到这一点。