mysql - 查询执行时间太长,无法加载

标签 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 ."'
   )
";

最佳答案

我猜您的查询已将 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;

这比您的查询更快。

关于mysql - 查询执行时间太长,无法加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20064923/

相关文章:

mysql - ON UPDATE DUPLICATE KEY 中的语法错误?

php - mysql_insert_id() 返回 0

mysql - 无法启动 MySQL!在启动 XAMPP 时

mysql - 在数据库中分离新用户和返回用户

sql - 在 MySQL 中计算每天页面点击率的最佳方法是什么

mysql - 优化在同一个表上使用多个内连接的 SQL 查询

php - Html 输出标记发布到 mysql

sql - 加入重叠的日期范围

具有 2 个内部连接的 MySQL 慢查询

postgresql - Postgres JSONB 检索非常慢