Boa tarde pessoal,
Ontem tive um problema o seguinte:
Tenho uma aplicação em .net que executa uma procedure, e esta por sua vez executa mais 5 procedures.
EX:
Aplicação
Procedure Pai
Procedure Filha 1
Procedure Filha 2
Procedure Filha 3
Procedure Filha 4
Procedure Filha 5
Quando a procedure Pai era chamada pela aplicação, o tempo de execução ficava em torno de 20 segundos, o que causava time-out na aplicação.
Quando recuperava o exec pelo profiler e executava o mesmo no ssms, o tempo de execução era de menos de 1 segundo.
Após recompilar todas as procedures (Pai e Filhas), ficou tudo normal.
A questão é, não entendi o porque, imaginei que o plano de execução estivesse defasado, e ao recompilar, ele foi atualizado, no entanto no ssms funcionava, ele não usa o mesmo plano de execução em
cache que a aplicação usa? Qual a sugestão vocês dão para não enfrentar esse problema novamente, colocar na manutenção do servidor para ele tambem limpar o cache de tempos em tempos?
Clayton Dias