O Plan Cache e o Query Store não são iguais, mesmo para a mesma consulta . Ao procurar informações de desempenho ou monitorar informações sobre uma consulta específica ou conjunto de consultas relacionadas, quais são as vantagens/desvantagens de cada uma?
A impressão geral que minha pesquisa on-line indica é que o Query Store pode ser consultado mais rapidamente que o Plan Cache (não sei por que) e que suas entradas tendem a durar muito mais tempo (isso é configurável), mas não encontrei nada dito sobre situações em que o Plan Cache é superior ao Query Store.
Suponha que eu não me importe com os recursos introduzidos pelo SQL Server 2017 e 2022 que usam o Query Store para ajuste automático de desempenho. Em vez disso, suponha que estou comparando o Query Store e o Plan Cache para fins de tarefas que ambos podem realizar.
um pouquinho
Geralmente prefiro o Query Store ao cache do plano, pois é uma fonte mais estável e confiável de informações de desempenho. O cache do plano é limpo e perde planos por vários motivos, e qualquer pessoa ridícula o suficiente para permitir a otimização para cargas de trabalho ad hoc pode perder uma quantidade significativa de informações.
A única coisa sobre a qual o cache do plano tem melhores detalhes são as concessões de memória de consulta. O Query Store mostra apenas quanta memória uma consulta usou , mas o cache do plano também contém detalhes sobre quanto foi concedido .
Muitas vezes achei útil comparar quanto foi concedido versus quanto foi usado, tanto ao ajustar consultas quanto ao ajustar as configurações do Resource Governor . A maioria dos servidores que vejo com grandes quantidades de memória têm problemas com o limite máximo de concessão de memória de aproximadamente 25% sendo muito alto, e o cache do plano é a única fonte real integrada para informações de uso como essa. A única desvantagem é que servidores com muita rotatividade de memória às vezes podem ter vida útil curta do cache planejado.