Galera, estou com um problema de performance em uma view.
Ela é gigante, mas podemos simular o gargalo na query a seguir.
SQL> SELECT *
2 FROM ( --/ View
3 SELECT ao.object_name
4 FROM all_objects ao
5 UNION
6 SELECT NULL
7 FROM dual
8 --/
9 )
10 WHERE object_name = 'V$SESSION';
OBJECT_NAME
------------------------------
V$SESSION
SQL>
Ao adicionar essa nova tabela na query, o plano de execução muda completamente.
A tabela pode ser simulada também como uma query simples.
SELECT *
FROM ( --/ View
SELECT ao.object_name
FROM all_objects ao
UNION
SELECT NULL
FROM dual
--/
)
WHERE object_name IN (SELECT 'V$SESSION'
FROM dual);
Alguém tem alguma ideia?
Abraço!