[firebase-br] Select lento

Jeudí Prando jeudiprando em gmail.com
Qua Ago 9 13:27:21 -03 2006


mande o plan gerado e os indices das tabelas pode ajudar a solucionar o 
seu problema

Pablo Cunha escreveu:
> Herivelto, ficou muito, mas muito lento mesmo com o inner join, agora não 
> sei seu eu fiz o inner join corretamente, pois faz um bom tento já que eu 
> não o utilizo, por isso estou mandado para vc ver o final do meu Select. Tem 
> mais uma coisa, eu não sei como é que eu poderia fazer isso utilizando 
> Stored Procedure, se você puder me ajudar eu agradeço.
>
> from
> endereco e inner join item_estoque ie on (e.id_end = ie.id_end),
> produtos p inner join unidade_logistica ul on (p.id_produto = 
> ul.id_produto),
> item_estoque ie2 inner join unidade_logistica ul2 on (ie2.id_ul = 
> ul2.id_ul),
> unidade_logistica ul3 inner join tipo_unidade_logistica tul on 
> (ul3.id_tipo_ul = tul.id_tipo_ul)
> where
> ((e.id_tipo_end = 4) or (e.id_tipo_end = 9) )
> group by 1,2,4,5,6
>
>
>
> ----- Original Message ----- 
> From: "Herivelto - SJBV" <herivelto.sj em sercon.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Wednesday, August 09, 2006 9:15 AM
> Subject: Re: [firebase-br] Select lento
>
>
> Pablo,
>
> Sei que sua pergunta, foi sobre Stored Procedure, mas uma coisa que pode
> ajudar nessa sua frase, é alterar a maneira de relacionar as tabelas,
> utilizando INNER JOIN por exemplo, ja fiz testes e constatei que o JOIN
> costuma ser mais rapido, e veja se está utilizando o indice correto... Mesmo
> assim a Stored Procedure vai deixar mais rapido, faça o teste utilizando o
> JOIN e depois coloque na Stored Procedure
>
>
> ----- Original Message ----- 
> From: "Pablo Cunha" <cunhapablo em yahoo.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Tuesday, August 08, 2006 6:07 PM
> Subject: [firebase-br] Select lento
>
>
> Caros amigo, eu tenho um select que está um bastante lento, ai me veio a
> ideia de criar uma Stored Procedure, será que com ela o select irá ser
> executado mais rápido? Bem eu pensei numa Stored Procedure porque tem apenas
> um campo que eu mudo o valor. que é onde está o Like (que no exemplo abaixo
> está com a letra A). Se for para mim fazer uma Stored Procedure, com é que
> eu faria? Obrigado desde já.
>
> Select p.id_produto as "Cod Prod",
> p.nm_produto as "Produto",
> cast(sum(qt_item_estoque) as Integer)as "Qtd",
> tul.sg_tipo_ul  || ' / ' || ul.qt_produto_na_embalagem  as "Tipo",
> case ie.cd_status
> when 0 then 'Excluido'
> when 1 then 'Normal'
> when 2 then 'Bloqueado'
> when 3 then 'Saindo'
> when 4 then 'Chegando'
> end as "Status",
> Upper(e.NM_DESCRICAO_END) as "Endereço"
> from endereco e,
> item_estoque ie,
> produtos p,
> unidade_logistica ul,
> tipo_unidade_logistica tul
> where e.id_end = ie.id_end
> and ie.id_produto = p.id_produto
> and ie.id_ul = ul.id_ul
> and ul.id_tipo_ul = tul.id_tipo_ul
> and Upper(e.NM_DESCRICAO_END) like (Upper('A%'))
> and ((id_tipo_end = 4) or (id_tipo_end = 9) )
> group by 1,2,4,5,6
> ______________________________________________
> 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
>
>
>   




Mais detalhes sobre a lista de discussão lista