Я делаю 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
Я верю во второй случай, он выполняет полное сканирование таблицы в обеих таблицах, влияющих на производительность. Это правильно?