Procedimento armazenado levando mais tempo para executar (Sql Server 2005)

1

Eu tenho um procedimento armazenado implementado e chamando este proc armazenado da página da web está levando mais de 300ms, Mas quando escreve o script na página web e chama o url, ele está executando em 50ms

Quais são os passos necessários para reduzir o tempo de execução de um procedimento armazenado. Por que sp está levando mais tempo que o script db na página

    
por Tripz 24.04.2012 / 21:30

2 respostas

1

O plano de consulta é sua janela "sob o capô" para ver a abordagem do SQL Server para executar suas consultas (incluindo procedimentos armazenados). Veja o que o plano de consulta está fazendo e otimize adequadamente usando índices e atualizando estatísticas .

Você também pode usar o SQL Server Profiler para otimizar as consultas. Execute um rastreamento usando o modelo "Replay" e, em seguida, alimente o rastreamento no Orientador de Otimização do Mecanismo de Banco de Dados. Isso fornecerá (e poderá implementar) sugestões sobre os metadados do banco de dados que permitirão que o SQL Server seja executado da melhor forma possível.

    
por 24.04.2012 / 21:50
1

Os procedimentos armazenados são compilados e armazenados no cache de procedimentos quando são executados pela primeira vez - usando os parâmetros que foram fornecidos no momento.

Assim, o plano de execução em cache pode não ser ideal para o conjunto de parâmetros com os quais você está testando atualmente. Tente um dbcc freeproccache e teste novamente.

Se isso funcionar, você pode querer considerar adicionar uma dica WITH RECOMPILE ao procedimento armazenado para forçar uma recompilação em cada execução.

    
por 24.04.2012 / 23:58