Есть запрос примерно такого вида:
select ...
from ...
where ...
union all (
select ..
from ...
where ...
)
первая часть запроса (до union all) работает быстро сама по себе, и план у нее выглядит хорошим.
Вторая часть запроса (после union all) работает тоже быстро, и план у нее тоже ок. Но когда я выполняю запрос целиком он ужасно тормозит, и план превращается в какой-то кошмар (подробно я не смотрела что именно там плохо, но суммарный cost у него гигантский).
Почему так?!
чем лечить (ну кроме как выполнять оба под запроса по отдельности, и потом мерджить результаты на клиенте)?