Fala galera. Vejam se podem me ajudar. Preciso reduzir o custo da query abaixo, que está em 65128 de acordo com o EXPLAIN PLAN do SQL Developer. Alguém tem alguma ideia de como reduzir mais esse custo, pois já é a terceira vez que tenho de mexer nela e já reduzi o custo dentro do conhecimento que possuo.
SELECT DISTINCT CEE.CD_SEQ_EMP_UNICO,
DECODE( EU.CD_TIPO, 'E', EM.NM_FUNCIONARIO, CO.NM_EMPRESA ) "NOME",
DECODE( EU.CD_TIPO, 'E', EU.CD_MATRICULA, NULL ) "MATRICULA",
DECODE( EU.CD_TIPO, 'E', EM.CD_SITUACAO_RH, NULL ) "SITUACAO",
EU.CD_TIPO,
EU.CD_SUPERVISOR
FROM CTRL_EPI_EMPREGADOS CEE,
EMPREG_UNICO EU,
EMPREGADO EM,
EMPRESA CO,
SIP_USUARIOS SU,
CAD_SETOR CS
WHERE CEE.CD_SEQ_EMP_UNICO = EU.CD_SEQ_EMP_UNICO
AND ( ( EU.CD_TIPO = 'E' and EM.CD_MATRICULA = EU.CD_MATRICULA ) OR
( EU.CD_TIPO = 'C' and CO.CD_EMPRESA = EU.CD_CONTRATADO ) )
AND CEE.NM_USUARIO_INI = SU.NM_LOGIN_USUARIO
AND SU.CD_SETOR = CS.CD_SETOR
AND CS.CD_EMPRESA = :GLOBAL.LOCAL --8 ou 10
ORDER BY 2;
Estou rodando essa query através de uma aplicação feita no Oracle Forms Builder. E essa aplicação agora está demorando horas para trazer os resultados.
Aguardo retorno. Abraço.