top of page

Limpando o Cache no SQL Server

  • Foto do escritor: Amanda Nascimento
    Amanda Nascimento
  • 2 de jun.
  • 2 min de leitura

O SQL Server armazena em memória:


  • Buffer Cache: Armazena páginas de dados (linhas das tabelas) que foram lidas do disco.

  • Procedure Cache (ou Plan Cache): Armazena planos de execução de consultas, para não precisar recompilar sempre que a mesma consulta for executada.


    Exemplo: Se você consultar uma tabela com 1 milhão de linhas, o SQL Server guarda esse conteúdo em memória. Na próxima consulta, ele usa os dados diretamente da RAM, que é muito mais rápida que o disco.


O armazenamento em memória, também conhecido como cache, é quando o SQL Server guarda temporariamente informações na RAM (memória do servidor) para evitar acessos repetitivos ao disco (que são mais lentos).

Esses caches existem para acelerar o desempenho das consultas. Porém, às vezes, eles precisam ser limpos manualmente, especialmente em cenários de teste, tuning ou após mudanças no volume/distribuição dos dados.


📌 1. Limpar cache de planos de execução


DBCC FREEPROCCACHE;


Esse comando remove todos os planos de execução armazenados. Após isso, o SQL Server precisará recompilar os planos das próximas consultas, o que pode causar uma lentidão temporária.



📌 2. Limpar cache de páginas de dados


DBCC DROPCLEANBUFFERS;


Remove da memória todas as páginas de dados que estavam em cache. Isso força o SQL Server a reler os dados do disco, impactando o desempenho momentaneamente.



  • Ideal para ambientes de teste, ou para medir desempenho de uma consulta "do zero".

  • Se executado em um sistema ativo, pode causar lentidão perceptível aos usuários.

  • Se precisar rodar em produção, faça isso em janelas de manutenção (períodos programados de menor uso do sistema, nos quais tarefas pesadas podem ser executadas sem impactar os usuários)

  • Monitore os efeitos após o uso


Esse conjunto de comandos zera o cache e atualiza as estatísticas com precisão máxima — excelente para testes de desempenho realista de uma nova consulta ou índice.


Exemplo de uso em conjunto com estatísticas:


USE EMPRESA1;

DBCC FREEPROCCACHE;

DBCC DROPCLEANBUFFERS;

UPDATE STATISTICS dbo.PACIENTE WITH FULLSCAN;

© 2017-2025  Criado e desenvolvido por Amanda Nascimento

  • Discord
  • GitHub
  • youtube
  • LinkedIn Amanda
bottom of page