Re: [firebase-br] AJUDA - SELECT CAUSANDO LENTIDÃO NO BANCO

Edilene Baldim Ribeiro edcamp74 em hotmail.com
Seg Ago 28 13:11:21 -03 2006


Olá Magno

Fiz o que vc me solicitou e não tem nenhuma tabela com acesso full.... (veja 
o anexo) é o resultado do plantable.
Se puderem me ajudar, muito obrigada...pois já estou de cabeça quente aqui 
sem saber o que fazer.

muito obrigada!!


>From: "MagnoS" <magnoscosta em bol.com.br>
>Reply-To: FireBase <lista em firebase.com.br>
>To: "FireBase" <lista em firebase.com.br>
>Subject: Re: [firebase-br] AJUDA - SELECT CAUSANDO LENTIDÃO NO BANCO
>Date: Mon, 28 Aug 2006 11:41:10 -0400
>
>Joga ele no PLSQL e veja o plano que ele esta usando para as tabelas
>envolvidas, veja se alguma nao esta sendo acessada "Full", caso isso
>aconteca, force uma perquisa pelo index.
>
>Se vc nao manja.. abre um Test Window ou SQl tanto faz..acho q ai vc tem q
>pegar um test devido as variáveis..
>da um F5 e analisa o resultado...
>O resultado deve ser algo assim:
>
>SELECT STATEMENT, GOAL = RULE   Cost=347 Cardinality=10000 Bytes=1050000
>  VIEW Object owner=FULANO  Cost=347 Cardinality=10000 Bytes=1050000
>   SORT ORDER BY   Cost=347 Cardinality=10000 Bytes=1930000
>    FILTER
>     SORT GROUP BY   Cost=347 Cardinality=10000 Bytes=1930000
>      FILTER
>       HASH JOIN   Cost=37 Cardinality=10000 Bytes=1930000
>        TABLE ACCESS BY INDEX ROWID Object owner=FULANO Object name=CFGENTI
>Cost=2 Cardinality=20 Bytes=1060
>         INDEX RANGE SCAN Object owner=FULANO Object
>name=IFK_NCDVEENTI_CFGENTI Cost=1 Cardinality=100
>        HASH JOIN   Cost=34 Cardinality=10000 Bytes=1400000
> >>>>        TABLE ACCESS FULL Object owner=FULANO Object name=CONCONT 
>Cost=3
> >>>> Cardinality=20 Bytes=300
>         MERGE JOIN CARTESIAN   Cost=30 Cardinality=10000 Bytes=1250000
>          HASH JOIN OUTER   Cost=20 Cardinality=5 Bytes=560
>           TABLE ACCESS BY INDEX ROWID Object owner=FULANO Object
>name=FINTITU Cost=6 Cardinality=5 Bytes=455
>            INDEX RANGE SCAN Object owner=FULANO Object name=IND_DEMISTITU
>Cost=2 Cardinality=9
>           VIEW Object owner=FULANO  Cost=13 Cardinality=5 Bytes=105
>            SORT GROUP BY   Cost=13 Cardinality=5 Bytes=345
>             FILTER
>              HASH JOIN   Cost=9 Cardinality=5 Bytes=345
>               TABLE ACCESS BY INDEX ROWID Object owner=FULANO Object
>name=FINMVTI Cost=6 Cardinality=5 Bytes=215
>                INDEX RANGE SCAN Object owner=FULANO Object
>name=IND_DDATAMVTI Cost=2 Cardinality=1
> >>>              TABLE ACCESS FULL Object owner=FULANO Object name=FINOPER
> >>> Cost=2 Cardinality=2000 Bytes=52000
>          BUFFER SORT   Cost=30 Cardinality=2000 Bytes=26000
>           TABLE ACCESS FULL Object owner=FULANO Object name=CFGGERA Cost=2
>Cardinality=2000 Bytes=26000
>     SORT GROUP BY NOSORT   Cost=2 Cardinality=1 Bytes=34
>      FILTER
>       TABLE ACCESS BY INDEX ROWID Object owner=FULANO Object name=FINTITU
>Cost=2 Cardinality=1 Bytes=34
>        INDEX UNIQUE SCAN Object owner=FULANO Object name=PK_FINTITU Cost=1
>Cardinality=100
>     SORT GROUP BY NOSORT   Cost=2 Cardinality=1 Bytes=34
>      FILTER
>       TABLE ACCESS BY INDEX ROWID Object owner=FULANO Object name=FINTITU
>Cost=2 Cardinality=1 Bytes=34
>        INDEX UNIQUE SCAN Object owner=FULANO Object name=PK_FINTITU Cost=1
>Cardinality=100
>
>Veja nos dois destaques q eu dei (>>>>) q tenho 2 tabelas com acesso full,
>se elas forem pequenas nao tem problema, mas se forem tabelas extensas ai
>complica.
>Para vc forçar o index é só for a Tabela.CampoIndex > 0 nos filtros de
>pesquisa.
>
>E tb sugiro entras nessa comunidade:  oracle_br em yahoogrupos.com.br
>
>pode ser que ajude.
>Abraços Magno
>
>
>
>----- Original Message -----
>From: "Edilene Baldim Ribeiro" <edcamp74 em hotmail.com>
>To: <lista em firebase.com.br>
>Sent: Monday, August 28, 2006 10:52 AM
>Subject: [firebase-br] AJUDA - SELECT CAUSANDO LENTIDÃO NO BANCO
>
>
>Olá pessoal.
>
>O DBA da empresa que trabalho nos passou esse "select" dizendo que está
>causando muita lentidão no banco.
>Já estudei a linha de código mas não estou conseguindo visualizar nenhuma
>mudança de melhoria.
>Se alguém puder me ajudar desde já agradeço muito.
>
>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
>      AND e.recf_cepf_cep_fim >= c.pred_cepe_cod
>GROUP BY espe_evt_cod, a.exame, b.pcdm_grup_espe_cod, f.espe_cod
>ORDER BY 1 ASC
>
>_________________________________________________________________
>O Windows Live Spaces é seu espaço na internet com fotos (500 por mês), 
>blog
>e agora com rede social http://spaces.live.com/
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>Para editar sua configuração na lista, use o endereço
>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>Para editar sua configuração na lista, use o endereço 
>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa

_________________________________________________________________
Chegou o Windows Live Spaces com rede social. Confira 
http://spaces.live.com/


Mais detalhes sobre a lista de discussão lista