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]


Alexandresbo2

Alexandresbo2

Responder

Posts

17/09/2004

_chiappone_

Sobe


Responder

20/09/2004

Alexandresbo2

sobe


Responder

20/09/2004

_marcos_

sobe


Responder

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é+


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar