Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
40
Assunto : SQL Server
Titulo: With Recompile

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



Que as procedures melhoram a performance de querys no servidor todos sabemos. Elas conseguem isso porque são pré-compiladas, o servidor já possui armazenado (e muitas vezes em cache) toda a definição de qual a melhor forma de executar a procedure.

Mas então por que existe uma clausula With Recompile na criação de procedures que faz com que a procedure seja recompilada a cada execução ? Isso não estaria gerando perda de performance ?

De certa forma está. Ocorre que junto com o código compilado da procedure estão informações sobre qual índice deverá ser utilizado. Mas algumas procedures alteram muito a query que executam de acordo com os parâmetros que recebem.

Por exemplo : Seria possível criar uma procedure que, de acordo com os parâmetros recebidos monta uma instrução sql para fazer querys em 3 campos diferentes. Nesse caso a definição de indice a ser utilizado que é guardada junto com o código da procedure não só é inútil como chega a ser prejudicial.

Para resolver o problema pode-se criar esta procedure com a clausula with recompile, desta forma, sempre que a procedure for executada ela será novamente compilada para decidir qual o melhor indice a ser utilizado. Isso gera perda de performance em relação a outras procedures, mas ganha performace em comparação com a execução desta procedure sem "with recompile" porque causaria o uso de um indice errado.

Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
data: 11/27/2017 1:26:00 PM
nome: lEuiWhhaAWPwpY
email: jimosanil0c@hotmail.com
comentário:
H0MQNz http://www.LnAJ7K8QSpfMO2wQ8gO.com

 1  
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br