代码之家  ›  专栏  ›  技术社区  ›  kodisha

延迟删除表行

  •  2
  • kodisha  · 技术社区  · 14 年前

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

    2 回复  |  直到 14 年前
        1
  •  1
  •   Morgan Tocker    14 年前

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

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

    • 如果它是空闲的,但是清理需要2分钟呢。在这2分钟内,服务器负载达到峰值?

    • 如果服务器从未变得足够空闲怎么办?现在你有一个无限的积压。

        2
  •  2
  •   Zak    14 年前

    如果您在linux服务器上,那么可以使表清理脚本仅基于命令“w”的输出运行,该命令将显示系统负载。如果你的系统负载低于.25,你可以运行你的脚本。通过shell脚本实现这一点。