Pessoal, será que alguém poderia da uma luz nesse resultado de plano de execução que rodei no SQL Developer. Preciso ajustar essa consulta.
2- Restructure SQL finding (see plan 2 in explain plans section)
—————————————————————-
O predicado “SIU”.”FUN_SIU_DESC_CURSO”(“V”.”ID_PES_VINCULO”,’C’)=’4621′
usado no ID de linha 3 do plano de execução contém uma expressão na coluna indexada “ID_PES_VINCULO”. Essa expressão impede o otimizador de selecionar índices na tabela “SIU”.”SIU_PESSOA_VINCULO”.
Recommendation
————–
– Reescreva o predicado em um formato equivalente para tirar proveito de índices. Como alternativa, crie um índice baseado na expressão.
Rationale
———
O otimizador não pode usar um índice quando o predicado é uma condição de desigualdade ou quando há uma expressão ou uma conversão de tipo de dados implícita na coluna indexada.
Segue a consulta abaixo:
SELECT P.CD_PESSOA, P.NR_DV, P.TP_SEXO, P.DT_NASCIMENTO, P.NM_NOME, P.NR_CPF, P.ST_CPF_PROPRIO, P.NM_NOME_REDUZIDO, P.NM_PESQUISA, P.ST_FALECIDO, P.DT_EXCLUSAO, P.CD_IP, P.CD_OPERADOR, P.ID_PESSOA, P.ID_ESTADO_CIVIL, P.ID_RACA, P.ID_RELIGIAO, P.ID_SITUACAO_ESTRANGEIRO, P.SG_NACIONALIDADE, P.SG_UF_NASCIMENTO, P.SG_PAIS_NASCIMENTO, P.TP_GRUPO_SANGUINEO, P.ST_DOADOR, P.TX_CIDADE_NASCIMENTO, P.NM_PAI, P.NM_MAE
FROM SIU.SIU_PESSOA P WHERE EXISTS (SELECT V.ID_PESSOA
FROM SIU.SIU_PESSOA_VINCULO V
WHERE V.ID_PESSOA = P.ID_PESSOA
AND SIU.FUN_SIU_DESC_CURSO(V.ID_PES_VINCULO,’C’) = ‘4621’)
ORDER BY P.NM_NOME