UNION с предложением WHERE

Я выполняю 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

Я считаю, что во втором случае он выполняет полное сканирование обеих таблиц, что влияет на производительность. Это правильно?

42
задан abhi 3 June 2016 в 15:21
поделиться