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