none
Procedure fica rápida após primeira execução RRS feed

  • Pergunta

  • Pessoal,
    tenho um procedure que é bem extensa, para rodá-la  em um primeiro momento ela leva cerca de 40s, porém na segunda, terceiras e outras vezes seguintes ela demora menos de 2s.

    alguém já viu isso?

    obrigado.
    Luan
    quarta-feira, 28 de outubro de 2009 19:05

Todas as Respostas

  • Luan, isso acontece porque  na primeira vez o SQL cria o plano de execução e armazena em memória. Nas próximas execuções ele já tem o plano definido. Agora é interessante você analisar o plano de execução e ver se está bom, se está utilzando os índices corretamente, etc. Veja também como está a fragmentação da tabela.

    Abs.
    Ivan Candido - http://ivandba.spaces.live.com
    quarta-feira, 28 de outubro de 2009 20:09
  • Luan,

    O Ivan esta certo, uma possibilidade seria se necessário recompilar a stored procedure para fazer a atualização do plano de execução.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quinta-feira, 29 de outubro de 2009 15:18