查询执行太长,无法加载

时间:2013-11-19 06:44:28

标签: mysql sql query-performance

我可以最小化或缩短(如果有的话)此查询吗?这个查询加载时间太长,如何缩短此查询的执行时间?感谢。

这是我的SQL查询:

$sql = "
  SELECT
    i.ID
  FROM item_tb i
  WHERE
    i.coID = '". $_SESSION['coID'] ."'
    AND i.isProduct = '1'
    AND i.isBom = '0'
    AND NOT EXISTS(
      SELECT
        s.ID
      FROM
        stocks_tb s
      WHERE
        i.ID = s.itemID
        AND s.brID = '". $brID ."'
   )
";

2 个答案:

答案 0 :(得分:0)

您使用多个AND运算符...在AND条件中使用括号..那就是

答案 1 :(得分:0)

我猜您的查询转换为LEFT JOIN,如下所示:

SELECT
  i.ID
FROM item_tb i LEFT JOIN stocks_tb s ON i.ID = s.itemID
WHERE
  i.coID = '". $_SESSION['coID'] ."'
  AND i.isProduct = '1'
  AND i.isBom = '0'
  AND s.brID = '".$brId."'
  AND s.itemID IS NULL;

,这比你的查询更快。