У меня есть внешний запрос, суммирующий результаты трех баз данных DB2, которые размещены на AS400.Запросы внутреннего объединения выполняются примерно за 2 минуты.Когда я добавляю внешний сводный запрос, производительность не изменяется.Однако добавление предложения WHERE к шагу внешнего суммирования повышает производительность на 10+ минут.Я убивал запрос каждый раз, так как не мог понять, что происходит.Любая идея, почему добавление предложения WHERE кардинально повлияет на производительность?Весь запрос выглядит следующим образом (извините за псевдокод, фактический запрос превышает 700 строк):
SELECT
field1,
field2,
SUM(field3) as my_sum
FROM
(complex set of three queries with results unioned together from three different databases - runs in about 2 minutes when executed on its own)
WHERE field1 in('string1','string2','string3')
GROUP BY
field1,
field2