Рассмотрим приведенный ниже запрос
SELECT
FlightDate,
FlightNum,
Origin,
Dest,
AirlineID
FROM
ontime1
WHERE
FlightDate >= (SELECT MIN(FlightDate) FROM ontime2 WHERE Origin='JFK') AND
FlightDate <= (SELECT MAX(FlightDate) FROM ontime2 WHERE Origin='JFK') AND
AirlineID IN (SELECT AirlineID FROM ontime2 WHERE Origin='JFK')
LIMIT 10;
ontime1 -> проиндексировано на основе FlightDate
ontime2 -> проиндексировано на основе Origin, Dest
Также присоединение к таблице не является оптимальным, поскольку данные таблицы такие большие
Как можно повторно использовать внутренний запрос, не повторяя один и тот же запрос снова и снова?