嵌套查询(Subquery / Nested Query)运行缓慢,通常由以下几方面原因导致:
SELECT * FROM orders o
WHERE o.amount > (
SELECT AVG(amount) FROM orders WHERE customer_id = o.customer_id
);
如果 orders 有 100 万行,子查询可能执行 100 万次。DISTINCTGROUP BYORDER BYIN (子查询) 返回几十万行,数据库需逐一比对LIMIT 或过滤条件SELECT o.*
FROM orders o
JOIN (
SELECT customer_id, AVG(amount) avg_amt
FROM orders
GROUP BY customer_id
) t ON o.customer_id = t.customer_id
WHERE o.amount > t.avg_amt;
如果你有具体 SQL,我可以帮你分析并给出优化写法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。