gpt4 book ai didi

php - 如何使用 PHP/SQL 并行运行两个 sql 查询?

转载 作者:行者123 更新时间:2023-11-29 12:06:13 25 4
gpt4 key购买 nike

是否可以启动两个 sql 查询,以便它们同时运行?

在一个 php 文件中,我在 Postgresql 数据库上执行两个查询。使用从前两个查询返回的值,然后我执行第三个查询。

function one(){ 
$query = pg_query($con, $sql);
$a = pg_fetch_result($query, 0, 0);
return $a;
}
function two(){
$query = pg_query($con, $sql);
$b = pg_fetch_result($query, 0, 0);
return $b;
}

function three($a, $b){
//$a + $b used to construct query $sql
$query = pg_query($con, $sql);
$c = pg_fetch_result($query, 0, 0);
return $c;
}

是否可以同时运行函数 onetwo?我考虑的另一种方法是使 ab 成为全局变量,并将它们初始设置为 null。然后,函数 onetwo 不返回任何值,它们只是设置 ab 的值他们是完整的。然后,我不断检查 ab 是否不为空,如果为真,则调用函数 three

搜索此主题时,我阅读了有关 pcntl 的内容,但我不清楚这是否是执行此类计算的最佳方式。pcntl 未安装在我的默认情况下,虚拟主机服务 (WebFaction)。

另一种方法可能是使用 pg_send_query_params()这使我能够使用不同的参数执行相同的查询,这可能比我原来的方法更快。

最佳答案

是的,您可以使用 Threads 同时运行两个查询。

但如果您不知道如何正确处理它们,我建议不要使用 Thread,因为它可能导致 RACE 情况。

我的建议是直接调用两个函数并将它们存储在变量中并将其传递给第三个函数。它不会影响您的页面性能。

关于php - 如何使用 PHP/SQL 并行运行两个 sql 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12870065/

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