gpt4 book ai didi

php - 每 5 分钟循环更新数据库表

转载 作者:行者123 更新时间:2023-11-29 03:28:30 25 4
gpt4 key购买 nike

我必须根据从其他表的数据中进行的选择,使用复杂且昂贵的查询来填充和更新我的 MySql 数据库表之一。当我对其进行查询时,该表不需要始终完全更新,但我希望每 5 分钟进行一次循环更新。

这个自动更新应该是无限的,我需要确保它永远不会停止。

经过一些研究,我找到了一些解决方案,但我不知道哪个对安全性和性能更好。

其中一个可能是我的目标:

  1. 不要每次都创建表并从 php 进行复杂的查询以获得所需的结果
  2. 创建一个循环重复并更新表数据库的 php 脚本,可能使用 Cron Job。
  3. 使用 sql 事件更新表

我认为第一个解决方案可能会很昂贵,因为查询很复杂并且每秒可能有很多请求,但结果总是会更新。我没有关于 Cron Job 的经验,所以我不知道这是否是个好主意。对于第三种解决方案,我仍然没有运行事件的数据库权限,但我想知道它是否是一个有效的解决方案。

欢迎所有其他解决方案,谢谢。

最佳答案

不要使用 cron。想一想如果一个实例超过 5 分钟而下一个实例又启动了会发生什么。最终,您将有数百个副本陷入相互绊倒的泥潭。

取而代之的是在一个循环中执行更新的单个作业。 (好吧,你可以有一个 cron 作业来执行“保持事件”任务,如果它死了就重新启动查询。)

这份工作会

CREATE TABLE new ...
INSERT INTO new SELECT complex-stuff...
RENAME TABLE real TO old, new TO real;
DROP TABLE old;
loop.

关于php - 每 5 分钟循环更新数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33110442/

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