2010-07-07 82 views
2

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

回答

1

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

我的建议:如果您尝试首先检查服务器是否空闲,您可以进入不必要的复杂问题。即

  • 如果它空闲,但清理需要2分钟,该怎么办?在那2分钟内服务器负载高峰?

  • 如果服务器永远不够闲置会怎么样?现在你只有无限的积压。

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

2

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

+1

“正常运行时间”提供相同的负载平均数据,比“w”更简洁一些。 – 2010-07-07 17:40:01