1 votes

dm_exec_query_stats renvoie des données périmées ?

J'ai testé mon application sur une base de données SQL Server 2005, et j'essaie d'obtenir une première image des performances des requêtes en utilisant sys.dm_exec_query_stats.

Problème : il y a une requête particulière qui m'intéresse, parce que total_elapsed_time et last_elapsed_time sont tous les deux des nombres importants. Lorsque j'invoque cette requête dans mon application (qui s'exécute avec succès), puis que je rafraîchis ma vue des statistiques, je constate que

1) execution_count a été incrémenté (attendu) 2) last_execution_time a été mis à jour (attendu) 3) last_elapsed_time est toujours une grande valeur (pas attendu - j'attendais une nouvelle valeur) 4) total_elapsed_time est inchangé (contradiction ?)

Si last_elapsed_time se réfère à l'exécution qui s'est produite @ last_execution_time, alors le total_elapsed_time devrait avoir augmenté ?

Cette documentation : http://msdn.microsoft.com/en-us/library/ms189741 (SQL.90).aspx m'indique que last_execution_time est la dernière fois que le plan a été exécuté, et que last_elapsed_time provient du "plan le plus récemment exécuté", mais ne m'explique pas pourquoi ils peuvent être différents.

La requête elle-même n'est pas compliquée (SELECT/WHERE/ORDER BY - paramètres apparaissant dans la clause where, mais pas d'opérations astucieuses), la table contient peut-être 25 lignes à l'heure actuelle.

Questions : 1) Quelle est la relation réelle entre execution_count, last_execution_time, et last_elapsed_time ? 2) Où se trouve la documentation de cette relation (manuel, livre tiers, blog, ticket de bogue, tablettes de pierre...) ?

0voto

Je ne sais pas si cela répond à votre question, mais les statistiques ne sont mises à jour qu'après qu'environ 20 % du contenu du tableau a été modifié. Si vous exécutez UPDATE STATISTICS et ensuite votre requête avec RECOMPILE Est-ce que cela fait une différence ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X