Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Existe-t-il un moyen/outil pour identifier l'estimation du temps d'exécution des requêtes dans SQL SERVER

Actuellement non. Microsoft recherche actuellement des moyens de le faire en utilisant une combinaison de travaux déjà terminés et d'un plan d'exécution estimé (voir les détails de leur recherche sur le site Microsoft Research ), nous pouvons donc nous attendre à voir quelque chose bientôt. Mais c'est le seul développement dont je sois au courant.

La solution que j'ai utilisée avec le plus de succès dans le passé, pour les processus qui prennent beaucoup de temps, consiste à diviser le processus en tâches plus petites et à définir des jalons à la fin de chaque tâche. Le temps total pour toutes les exécutions de chaque tâche est enregistré, et ceci est utilisé pour évaluer la progression de l'exécution en cours. Cela dépend fortement de la linéarité de vos requêtes (c'est-à-dire que le temps d'exécution est linéairement proportionnel au nombre d'enregistrements). Les jalons peuvent être mesurés soit par étapes d'un processus, soit en divisant les données en segments plus petits, soit les deux.