No SQL Server 2005, o que acontece quando o cache do plano fica cheio? Eu fiz algumas pesquisas e, a partir de fragmentos coletados, parece que os planos em cache recebem uma "idade" que consiste em seu peso ou custo de compilação multiplicado pelo número de vezes que foi executado desde que foi armazenado em cache. Com o passar do tempo essa idade vai diminuindo, até chegar a 0, quando é considerada "envelhecida" e é candidata ao flushing quando necessário. Quando o cache do plano é preenchido, os planos antigos são removidos do cache.
Existe mais alguma coisa que está acontecendo nos bastidores para complicar esse cenário?
Obrigado,
Matt
As melhores informações sobre o assunto encontradas no MSDN estão aqui: Cache e Reutilização do Plano de Execução . Citação do artigo do MSDN:
"Removendo Planos de Execução do Cache de Procedimento
Os planos de execução permanecem no cache do procedimento enquanto houver memória suficiente para armazená-los. Quando existe pressão de memória, o Mecanismo de Banco de Dados usa uma abordagem baseada em custo para determinar quais planos de execução devem ser removidos do cache de procedimento. Para tomar uma decisão baseada em custo, o Mecanismo de Banco de Dados aumenta e diminui uma variável de custo atual para cada plano de execução de acordo com os seguintes fatores.
Quando existe pressão de memória, o Mecanismo de Banco de Dados responde removendo planos de execução do cache de procedimento. Para determinar quais planos remover, o Mecanismo de Banco de Dados examina repetidamente o estado de cada plano de execução e remove os planos quando seu custo atual é zero. Um plano de execução com custo atual zero não é removido automaticamente quando existe pressão de memória; ele é removido somente quando o Mecanismo de Banco de Dados examina o plano e o custo atual é zero. Ao examinar um plano de execução, o Mecanismo de Banco de Dados empurra o custo atual para zero diminuindo o custo atual se uma consulta não estiver usando o plano no momento."
É melhor ler o artigo completo, está muito bem documentado. Veja que também tem alguns links.