1

Je suis en train de paramétrer le SQL ad hoc de mon application Web. Par conséquent, je m'attends à ce que le cache du plan de requête réduise sa taille et ait un taux de réussite plus élevé. Peut-être même d'autres mesures importantes seront améliorées. Puis-je utiliser perfmon pour suivre cela? Si oui, quels compteurs dois-je utiliser? Si ce n'est pas perfmon, comment pourrais-je rendre compte de l'impact de ce changement?Comment suivre une amélioration du cache des requêtes?

Répondre

1

SQL Server, Plan Cache Object

Hit Cache Ratio Ratio entre hits cache et les recherches.
Nombre d'objets de cache Nombre d'objets de cache dans le cache.
Pages de cache Nombre de pages de 8 kilo-octets (Ko) utilisées par les objets de cache.
Cache Objets utilisés Nombre d'objets de cache en cours d'utilisation.

également sys.dm_os_memory_clerks et sys.dm_os_memory_cache_counters donnera des informations sur les allocations de mémoire (en général) et les caches SQL (en général). Vous serez intéressé par l'allocation pour le greffier de la mémoire cache du plan. Et enfin, il y a les DMV d'exécution: sys.dm_exec_query_stats et sys.dm_exec_cached_plans.

Ces compteurs et DMV doivent couvrir ce dont vous avez besoin. Pour plus de détails, voir Execution Plan Caching and Reuse.

+0

Vous êtes l'homme, @Remus! –

1

Vous pouvez utiliser SQL Server Profiler. Créez une nouvelle trace et capturez les événements TSQL-> Exec Prepared Sql et TSQL-> Prepare Sql. Le premier vous dira quand il réutilise un plan de requête, le dernier lors de la régénération du plan.

Vous pouvez également faire la même chose pour les procédures stockées, sous la catégorie d'événements SP.