Desempenho stored procedure
17/09/2004
0
Tenho um select de 200 linhas +- em uma stored procedure ....
Tenho 4 union nesta consulta onde cada union tem o seguinte
no critério:
And (Nf_Cliente = :Cliente Or :Cliente Is Null )
And (Nf_Numero = :Notafiscal Or :Notafiscal Is Null )
And (Nf_Serie = :Serie Or :Serie Is Null )
And (Nf_Representante = :Vendedor Or :Vendedor Is Null )
And (Int_Produto =:Produto Or :Produto Is Null )
And (Rom_Romaneio=:Pedido Or :Pedido Is Null )
Bom estou testando o desempenho desta procedure ....quando passo todos os parametros como null demora uns 10 segundos pra executar agora se eu comentar este bloco naum demora nada .....Gostaria de saber pq :Par is null deixa lento ? E se eu usar execute statement no lugar disso é melhor ?
[b:307270479a][color=green:307270479a]Título Editado(Saviski) [/color:307270479a]- ´Pra que conhece muito de Firebird´[/b:307270479a]
Tenho 4 union nesta consulta onde cada union tem o seguinte
no critério:
And (Nf_Cliente = :Cliente Or :Cliente Is Null )
And (Nf_Numero = :Notafiscal Or :Notafiscal Is Null )
And (Nf_Serie = :Serie Or :Serie Is Null )
And (Nf_Representante = :Vendedor Or :Vendedor Is Null )
And (Int_Produto =:Produto Or :Produto Is Null )
And (Rom_Romaneio=:Pedido Or :Pedido Is Null )
Bom estou testando o desempenho desta procedure ....quando passo todos os parametros como null demora uns 10 segundos pra executar agora se eu comentar este bloco naum demora nada .....Gostaria de saber pq :Par is null deixa lento ? E se eu usar execute statement no lugar disso é melhor ?
[b:307270479a][color=green:307270479a]Título Editado(Saviski) [/color:307270479a]- ´Pra que conhece muito de Firebird´[/b:307270479a]
Alexandresbo2
Curtir tópico
+ 0
Responder
Posts
20/09/2004
Paulo_amorim
Olá
Não sei bem se eh isso, mas cláusulas OR em uma query fazem com que o desempenho caia, e muito...
Considerando que a query tem 4 union, cada qual com 6 OR, pode ser isos...
Tente trocar por um teste equivalente (ou uma sequencia de portas logicas equivalentes ou mude o tipo deteste ) e veja o desempenho.
Espero que ajude
Até+
Não sei bem se eh isso, mas cláusulas OR em uma query fazem com que o desempenho caia, e muito...
Considerando que a query tem 4 union, cada qual com 6 OR, pode ser isos...
Tente trocar por um teste equivalente (ou uma sequencia de portas logicas equivalentes ou mude o tipo deteste ) e veja o desempenho.
Espero que ajude
Até+
Responder
Clique aqui para fazer login e interagir na Comunidade :)