PHP/MYSQL 并行代码/查询执行

标签 php mysql sql

我正在考虑并行执行所有数据库查询。

我当前的代码如下所示

mysql_connect("host", "user", "pass");
    $dbcheck = mysql_select_db("db");   

    if ($dbcheck) {

    /* BLOCK - 1*/

        $result_1 = mysql_query($query1);
        if (mysql_num_rows($result_1) > 0) {
            while ($row_1 = mysql_fetch_assoc($result_1)) {
                $a=$row_1["AA1"];
                $b=$row_1["AA2"];
                $a[]="['".$a."',".$b."]";
            }
        }

    /* BLOCK - 2*/

        $result_2 = mysql_query($query2);
        if (mysql_num_rows($result_2) > 0) {
            while ($row_2 = mysql_fetch_assoc($result_2)) {
                $ac1=$row_2["ab1"];
                $ac2=$row_2["ab2"];
                $chart_array_2[]="['".$ac1."',".$ac2."]";
            }
        }
     }

我相信以上顺序运行。我想做的是并行执行“BLOCK - 1”和“BLOCK - 2”。我有大约 20 个这样的 block 。我想同时启动它们。

我在谷歌上看过。他们中的大多数人都在谈论并行运行数据库查询。我无法找到一种方法来满足我的要求。请问在 PHP 中有没有一种方法可以并行启动每个 block ?

最佳答案

改用循环

mysql_connect("host", "user", "pass");
$dbcheck = mysql_select_db("db");   

if ($dbcheck) {

for($i=1;$i<=20;$i++) {

    /* BLOCK - $i*/

    $result = mysql_query($query[$i]);
    if (mysql_num_rows($result) > 0) {
        while ($row[$i] = mysql_fetch_assoc($result)) {
            $a[$i]=$row[$i]["AA1"];
            $b[$i]=$row[$i]["AA2"];
            $a[$i][]="['".$a."',".$b."]";
        }
    }

}

关于PHP/MYSQL 并行代码/查询执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30930388/

相关文章:

MySQL 从另一个表插入带有 2 个选项的 WHERE 语句

javascript - 从 HTML 网站查询或搜索 CSV 的最佳方式

javascript - 如何将单选按钮值从表单发送到电子邮件

用于随时间存储用户分数的 Mysql 数据库设计

sql - 半不同的 MySQL 查询

mysql - 内连接如何嵌套?

php - 表示大型元素的 CSS 和 JS 文件的最佳方式

php - 图间距算法

mysql - 从表中获取一条记录,该记录在所有日期中

sql - 帮助将 SQL 嵌套子查询转换为 mysql 4.0 兼容性的连接查询