Я делаю UNION
из двух запросов в базе данных Oracle. Оба они имеют предложение WHERE
. Есть ли разница в производительности, если я выполняю WHERE
после UNION
запросов по сравнению с выполнением предложения UNION
после WHERE
?
Например:
SELECT colA, colB FROM tableA WHERE colA > 1
UNION
SELECT colA, colB FROM tableB WHERE colA > 1
по сравнению с:
SELECT *
FROM (SELECT colA, colB FROM tableA
UNION
SELECT colA, colB FROM tableB)
WHERE colA > 1
Я верю во второй случай, он выполняет полное сканирование таблицы в обеих таблицах, влияющих на производительность. Это правильно?