首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL查询运行速度非常慢

SQL查询运行速度非常慢
EN

Stack Overflow用户
提问于 2016-04-22 00:01:58
回答 1查看 63关注 0票数 1

我在下面运行的代码运行得非常好,直到我尝试在最后一个循环中获取数量。我认为可以使用连接等对其进行优化,但我不太熟悉在获取不同元素时的最佳方法。

代码语言:javascript
复制
$sql_dept = "SELECT DISTINCT `department_guid` FROM `bom_material_copy` WHERE `complex_guid`='9EB75BE9-26E2-AEBB-1B52-37DBC2FB89EA' ORDER BY `id` DESC LIMIT 0,5";

foreach($pdo->query($sql_dept) AS $dept)
{
    $sql_mat = "SELECT DISTINCT `material_bct_number` FROM `bom_material_copy` WHERE 
                `complex_guid`='9EB75BE9-26E2-AEBB-1B52-37DBC2FB89EA' AND 
                `department_guid`='".$dept['department_guid']."' 
                ORDER BY `id` DESC LIMIT 0,5";

    foreach($pdo->query($sql_mat) AS $mat)
    {
        echo "<tr>";
            echo "<td>".$mat['material_bct_number']."</td>";
            // Grab Units Again
            $u = 0;
            $sql_unit = "SELECT DISTINCT `unit_number` FROM `bom_projects_units` WHERE `complex_guid`='9EB75BE9-26E2-AEBB-1B52-37DBC2FB89EA'";
            foreach($pdo->query($sql_unit) AS $unit)
            {
                $sql_quan = "SELECT `quantity` FROM `bom_material_copy` 
                            WHERE 
                            `material_bct_number`='".$mat['material_bct_number']."' AND 
                            `unit_number`='".$unit['unit_number']."' AND 
                            `department_guid`='".$dept['department_guid']."'";

                foreach($pdo->query($sql_quan) AS $quan)
                {
                    echo "<td>".$quan['quantity']."</td>";
                }
            }
        echo "</tr>";
    }
}
EN

回答 1

Stack Overflow用户

发布于 2016-04-22 00:29:01

尝试在查询中使用EXPLAIN

当您这样做时,您就知道了在查询中使用的表之间的关系。

下一步,在要匹配的字段中使用INDEX,然后再次执行查询。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36774932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档