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