Je ne sais pas par où commencer, mais existe-t-il un moyen de voir combien de temps il a fallu à l'optimiseur pour générer un plan de requête pour une requête? Est-il stocké dans l'un des DMV ou quelque chose qui fait partie de l'une des statistiques? Ou puis-je le calculer d'une manière ou d'une autre si j'inclus des statistiques en direct ou le plan d'exécution réel? Peut-être dans le magasin de requêtes?
Il y a plusieurs façons:
set statistics time on
qui vous donnera: Temps d'analyse et de compilation SQL Server: temps CPU = xx ms, temps écoulé = xx ms.
Il existe de nombreuses autres façons comme le profileur, la trace côté serveur ou XEvents - mais ils sont chers et peuvent avoir un impact négatif sur la performance de votre serveur SQL.
Vous pouvez utiliser sp_BlitzCache pour connaître le délai d'expiration de la compilation des requêtes à partir du cache du plan.