Pular para o conteúdo

Fóruns SQL e PL/SQL Ajuda com Select – causando lentidão no banco Ajuda com Select – causando lentidão no banco

#76373
Anônimo

    [quote=”edilene.ribeiro”:1xp6gehk]Olá Pessoal,

    Sou novata mas quero muito aprender.
    O DBA da empresa que trabalho diz que o select abaixo está causando muita lentidão no banco.
    Utilizo a ferramenta Toad onde fiz o Explain Plain e não deu acesso full em nenhuma tabela. Pelo que vi está fazendo acesso Range Scan em 4 tabelas….mas full em nenhuma.
    Se alguém puder me dar algum dica do que melhorar…. pois já tentei de tudo e não sei mais o que fazer.

    desde já agradeço muito.[/quote]

    eis o select:

    SELECT espe_evt_cod esp_princ,
    DECODE (a.espe_evt_cod,
    99999999, a.exame,
    DECODE (NVL (b.pcdm_grup_espe_cod, -1), -1, 10014, a.exame)
    ) proced,
    a.exame
    FROM hist_exame a, pcdm_pcm b, espe_esp f
    WHERE :pr_local_id IS NULL
    AND a.mes_ref BETWEEN TO_DATE (:pr_mes_ref, ‘mm/yyyy’)
    AND TO_DATE (:pr_mes_ref2, ‘mm/yyyy’)
    AND a.grp_emp_id = :pr_grp_emp_id
    AND a.prest_id = :pr_prest_id
    AND a.vlr_pago > 0
    AND b.pcdm_cod(+) = a.exame
    AND f.espe_cod(+) = a.exame
    UNION
    SELECT espe_evt_cod esp_princ,
    DECODE (a.espe_evt_cod,
    99999999, a.exame,
    DECODE (NVL (b.pcdm_grup_espe_cod, -1), -1, 10014, a.exame)
    ) proced,
    a.exame
    FROM hist_exame a,
    pcdm_pcm b,
    pred_prt_edr c,
    tiep_prt_edr_tip d,
    recf_fxa_cep_rgi e,
    espe_esp f
    WHERE :pr_local_id IS NOT NULL
    AND a.mes_ref BETWEEN TO_DATE (:pr_mes_ref, ‘mm/yyyy’)
    AND TO_DATE (:pr_mes_ref2, ‘mm/yyyy’)
    AND a.grp_emp_id = :pr_grp_emp_id
    AND a.prest_id = :pr_prest_id
    AND a.vlr_pago > 0
    AND b.pcdm_cod(+) = a.exame
    AND f.espe_cod(+) = a.exame
    AND c.pred_prtd_cod = a.prest_id
    AND d.tiep_pred_cod = c.pred_cod
    AND d.tiep_tip_edr = 3
    AND e.recf_etor_cod = :pr_etor_cod
    AND e.recf_rgio_cod = :pr_local_id
    AND e.recf_cepf_cep_ini = c.pred_cepe_cod
    GROUP BY espe_evt_cod, a.exame, b.pcdm_grup_espe_cod, f.espe_cod
    ORDER BY 1 ASC