MySQL Query (с подзапросом) оптимизация - PullRequest
0 голосов
/ 09 июня 2018

У меня возникают проблемы с поиском ускорения запроса ниже.

SELECT 
(SELECT SUM(pi2.OperationMW) FROM projectsimport pi2 
    WHERE pi2.CommissionYear  <=  pi.CommissionYear 
    AND pi2.TurbineOEM = pi.TurbineOEM 
    AND pi2.Country = 'US' )  as y,
    TurbineOEM as Name , CommissionYear  
FROM projectsimport pi 
WHERE TurbineOEM != '' AND Country = 'US' 
AND CommissionYear > 1993 
AND CommissionYear <= 2018 
AND CommissionYear IS NOT NULL    
GROUP BY TurbineOEM, CommissionYear 
Order by TurbineOEM, CommissionYear

Выполнение объяснения дает мне следующие результаты:

результаты объяснения

Я чувствую, что упускаю что-то довольно очевидное, но любая помощь будет признательна

1 Ответ

0 голосов
/ 10 июня 2018

Составные индексы для projectsimport:

INDEX(Country, TurbineOEM, CommissionYear, OperationMW)
INDEX(Country, CommissionYear, TurbineOEM)
...