Velocidade de Stored Procedures

28/10/2003

0

Se eu definir uma stored procedure onde o sql de retorno for variável (exemplo 1), a velocidade de execução será menor do que uma stored procedure com um sql fixo (exemplo 2).

EXEMPLO 1
[color=red:34f2c22240][/color:34f2c22240]
CREATE PROCEDURE stpBusca
@CODIGO INT, @NOME VARCHAR(50)
AS
Declare @SQL nvarchar(500) --Comando SQL a ser executado
Declare @CONDICAO nvarchar(500) --Cláusula WHERE do SQL

-- Definindo a Clausula WHERE
Set @CONDICAO = ´(1=1) ´

--Se o Código tiver sido informado e for um Numerico
If (@CODIGO <> ´´) and (ISNUMERIC(@CODIGO) = 1)
Set @CONDICAO = @CONDICAO + ´ AND CODIGO = ´+quotename( @CODIGO , ´´´´)

--Se a Descricao tiver sido informada
If @NOME <> ´´
Set @CONDICAO = @CONDICAO + ´ AND NOME =´+quotename( @NOME , ´´´´)
End

--Construindo o comando SQL
Set @SQL = ´ SELECT CODIGO, NOME FROM CADASTRO
WHERE ´+@CONDICAO
--Executando o SQL
EXECUTE (@SQL)



[color=red:34f2c22240][/color:34f2c22240]
EXEMPLO 2
CREATE PROCEDURE stpBusca
@CODIGO INT

SELECT CODIGO, NOME FROM CADASTRO
WHERE CODIGO = @CODIGO[/b][/code]


Wanderley

Wanderley

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar