[英]How can I improve the performance for this junction table query
您可以嘗試使用相關子查詢並對ID
和COMPANY_ID
進行索引
SELECT NAME FROM COMPANY c WHERE exists (
SELECT 1 COMPANY_ID
FROM Salary s where s.COMPANY_ID=c.ID
Having AVG(Salary) >= 140000
)
我認為最簡單的查詢形式是:
SELECT c.Name
FROM Company c JOIN
Salary s
ON s.COMPANY_ID = c.ID
GROUP BY c.Name, c.COMPANY_ID
HAVING AVG(s.Salary) >= 14000;
在嘗試其他形式之前,我會嘗試這個。 我希望 Zaynul 的答案(使用EXISTS
)在正確的索引下會稍微快一點,但有時 MySQL 會讓我感到驚訝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.