Existe-t-il un moyen d'afficher uniquement les éléments dont la taille est supérieure à 1% du lot? J'essaie de trouver des goulots d'étranglement dans un proc, il contient des boucles et d'autres logiques et 99% du plan d'exécution qui en résulte ne m'intéresse pas, mais il est difficile de faire défiler dans Management Studio et de trouver les parties qui ralentir.Plans d'exécution SQL Server: filtre pour afficher les goulots d'étranglement?
Répondre
Avez-vous regardé SQL Sentry Plan Explorer? C'est un outil 100% gratuit qui peut s'intégrer à Management Studio et apporter beaucoup plus de clarté lors de l'analyse des plans. Un exemple très rapide montre comment vous pouvez rapidement se concentrer sur le nœud le plus cher (s) dans tout plan graphique:
Télécharger:
http://sqlsentry.net/plan-explorer/sql-server-query-view.asp
Un récent blog je l'ai écrit, À la demande générale, pour aider les autres à illustrer à quel point les plans d'exécution peuvent être plus faciles avec Plan Explorer:
Par votre question actuelle, il ne cache pas les opérations à faible ou nul coût du plan, mais il met en évidence les nœuds les plus chers en rouge, orange et jaune; nous mettons également en évidence les recherches et les analyses, et vous pouvez également afficher le coût en% par CPU + E/S, CPU seule ou E/S seule (dans SSMS, vous ne pouvez utiliser que la combinaison). La plupart des problèmes de performances que vous recherchez sont centraux ou sur l'un des onglets détaillés, plutôt que masqués dans les panneaux Propriétés, des info-bulles originales ou non présentés. En plus des améliorations apportées au plan graphique, vous pouvez également vous concentrer sur des instructions spécifiques qui se déroulent dans une boucle (avec beaucoup d'instructions connexes mais à moindre coût) en les triant dans le nœud Arbre d'instructions. Les différences entre les lignes estimées et les lignes réelles (pour les plans réels) peuvent mettre en évidence des problèmes de statistiques potentiels; les colonnes requises par une recherche de clé peuvent identifier rapidement les colonnes d'index manquantes (ou une requête SELECT * qui ne devrait pas l'être); et les paramètres runtime et compilés peuvent signaler les problèmes de reniflage de paramètres où vous pouvez utiliser RECOMPILE, OPTIMIZE FOR ou activer «Optimiser pour les charges de travail ad hoc». Enfin, contrairement à Management Studio, vous pouvez très facilement générer des métriques d'exécution (durée, CPU, lectures, etc.) en générant un plan réel dans l'outil - avec des outils natifs pour manipuler les options SET ou utiliser profiler pour obtenir ces métriques - et même avec ceux que vous devez éviter le travail impliqué pour obtenir les résultats au client (Plan Explorer exécute la requête sur le serveur mais ignore les résultats).
Je viens de télécharger la dernière version du SSMS Tools Pack Addin aujourd'hui et je remarque que cette fonctionnalité a maintenant de nouvelles fonctionnalités qui peuvent également aider à cet égard. Essentiellement, vous pouvez configurer un pourcentage et une métrique (par exemple, coût global estimé ou coût ES estimé) et les opérateurs dépassant ce seuil sont répertoriés à gauche du plan dans l'ordre des coûts et peuvent être cliqués sur pour accéder à la spécifique opérateur.
Voir les captures d'écran pour Execution Plan Analyser une meilleure idée.
- 1. Goulots d'étranglement de la mémoire SQL Server
- 2. SQL Server sp_ExecuteSQL et plans d'exécution
- 3. SQL Server: outils pour afficher les relations
- 4. Plans de maintenance SQL Server manquants après la création
- 5. Plans de sauvegarde de l'assistant de maintenance SQL Server
- 6. Plans d'exécution SQL Server pour les requêtes ad hoc Remplissage du cache du plan
- 7. Plans d'exécution de SQL Server - réels vs estimés
- 8. Groupe SQL Server, filtre et colonnes de fusion pour afficher une seule ligne
- 9. SQL Server: résultats du filtre de requête
- 10. Fonction de filtre d'index SQL Server 2005
- 11. Outil d'analyse SQL Server
- 12. Commandes ADO.NET et plans de requête SQL
- 13. SQL Server - Plan d'exécution de requête pour les instructions conditionnelles
- 14. Comment Sql Server compile-t-il les plans d'exécution pour le flux logique dans les procédures stockées?
- 15. Comment mesurer les goulots d'étranglement mySQL?
- 16. JAI Goulots d'ajustement d'image
- 17. Outil pour trouver les goulots d'étranglement de la base de données dans le serveur SQL
- 18. requête SQL pour afficher les données db
- 19. plans d'exécution pour les bases de données
- 20. modèles pour les plans de travail?
- 21. Script pour copier les structures de table SQL Server (filtre + ajouter des colonnes)
- 22. Firebird SQL: Recherche des goulots d'étranglement/analyse des performances
- 23. SQL Server 2008: puis-je afficher les actions utilisateur précédentes?
- 24. Afficher tous les journaux de transactions dans SQL Server 2014
- 25. Comment afficher les lignes non communes dans sql server 2008?
- 26. Pourquoi les plans de maintenance Sql Server 2005 utilisent-ils la mauvaise base de données pour dbcc checkdb?
- 27. Afficher les images stockées dans SQL Server dans Crystal Report
- 28. Afficher les noms de fichiers complets dans SQL Server
- 29. SQL Server - afficher toutes les dépendances de clé étrangère
- 30. Afficher toutes les erreurs qui se produiront dans SQL Server
+1 pour la recommandation d'outil. – Icarus