gpt4 book ai didi

php - Mysql 查询 - 多个查询 - 它们是否同时运行(编辑 : consecutively) or simultaneously

转载 作者:行者123 更新时间:2023-11-30 23:00:57 25 4
gpt4 key购买 nike

我有一个执行 php 页面的 cron 作业。 php 页面只是运行 3 个不同查询的几行代码。

重点是清除克隆表,用主表中的所有新内容更新它,然后对该克隆表进行更新。

php页面基本上是这样的:

<?php
require_once('/path/to/my/db/connection/file');
@session_start();
mysql_select_db($database_db, $db);

$query1 = "DELETE from table2;"
$query1_run = mysql_query($query1);

$query2 = "INSERT INTO table2 (SELECT * FROM table1);"
$query2_run = mysql_query($query2);

$query3 = "UPDATE table2 (blah blah a bunch of update syntax here)"
$query3_run = mysql_query($query3);

?>

我们正在处理一个包含数百万行的非常大的数据库,因此这些查询中的每一个都需要一点时间。

第一个查询运行得很快,但第二个和第三个查询需要一分钟,每个查询大约需要 3 分钟。

这是我的问题:我可以在一个页面上同时运行所有这些内容吗?在继续第二个查询之前,它会等待第一个执行,然后是第三个吗?或者我是否需要将它们分成 3 个 cron 作业并每隔几分钟运行一次?

提前致谢。

最佳答案

要回答标题中的问题“它们同时运行还是同时运行”,答案是同时运行。

拥有多个 cron 需要他们知道某个过程是否已完成。那会变得困惑。把它放在一个文件中是去这里的方法。您可能希望设置最长执行时间以确保脚本不会超时。找到你的 php.ini 文件并寻找这个:max_execution_time = xxx(秒)

如果需要,将其更改为更高的值。max_execution_time = 240 是 4 分钟

您还可以查看 mysql 事务以仅在所有进程完成后才提交更改。

http://dev.mysql.com/doc/refman/5.0/en/commit.html

关于php - Mysql 查询 - 多个查询 - 它们是否同时运行(编辑 : consecutively) or simultaneously,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24026996/

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