Quelle est l'utilisation du plan d'exécution dans SQL Server? Quand ces plans peuvent-ils m'aider?Quelle est l'utilisation du plan d'exécution dans SQL Server?
Répondre
Lorsque vos requêtes sont toutes rapides, tout va bien dans le monde et les plans d'exécution n'ont pas vraiment d'importance. Cependant, quand quelque chose tourne lentement, ils sont très importants. Ils sont principalement utilisés pour optimiser (accélérer) le SQL lent. Sans plans d'exécution, vous devineriez simplement ce qu'il faut changer pour que votre SQL soit plus rapide.
Voici la manière la plus simple dont ils peuvent vous aider. Prenez une requête lente et procédez comme suit dans une fenêtre de requête SQL Server Management Studio:
1) exécutez la commande:
SET SHOWPLAN_ALL ON
2) exécuter votre requête lente
3) votre requête ne exécuter, mais le plan d'exécution sera retourné.
4) regarder à travers la sortie de la colonne PhysicalOp
pour le mot SCAN
dans les tout texte dans cette colonne, c'est habituellement la partie de la requête qui est à l'origine du ralentissement. Analysez vos jointures et l'utilisation de l'index en ce qui concerne cette ligne de la sortie et si vous pouvez éliminer l'analyse, vous améliorerez généralement la vitesse de la requête.
Il y a des colonnes utiles (TotalSubTreeCost, etc) dans la sortie, vous les connaîtrez lorsque vous apprendrez à lire les plans d'exécution et ajuster vos requêtes lentes.
Vouliez-vous dire tous - au lieu de - cul sur la première ligne :) –
@Fadrian, oui je l'ai fait –
Lorsque vous devez effectuer un profilage de performances sur une requête spécifique.
Jetez un oeil à SQL Server Query Execution Plan Analysis
Quand vient le temps d'analyser les performances d'une requête spécifique, une des meilleures méthodes est d'afficher le plan d'exécution de la requête . Un plan d'exécution de requête décrit comment l'optimiseur de requête SQL a réellement exécuté (ou exécutera) une requête spécifique. Cette informations si très précieux quand il vient de temps pour savoir pourquoi une requête spécifique est lente.
Il est utile d'identifier où les goulets d'étranglement se produisent dans les requêtes de longue durée. Vous pouvez réaliser des améliorations de performances assez impressionnantes simplement en sachant comment le serveur exécute votre requête complexe. Si je me souviens bien, il identifie également de bons candidats pour l'indexation, ce qui est une autre façon d'augmenter les performances.
Ces plans décrivent comment SQL Server exécute votre requête. C'est le résultat d'un algorithme basé sur les coûts de l'optimiseur de requêtes SQL Server, qui propose un plan pour arriver au résultat final de la meilleure manière possible.
Il est utile, car elle va vous montrer où le temps est passé dans la requête, si les index sont utilisés ou non, quel type de processus est effectué sur les index (analyse, recherche), etc.
Alors Si vous avez une requête peu performante, le plan d'exécution met en évidence les parties les plus coûteuses et vous permet de voir ce qui doit être optimisé (exemple: un index manquant, une requête écrite inefficacement entraînant un scan d'index au lieu d'une recherche) .
- 1. SQL Server Query est plus rapide dans SSMS lors de l'inclusion du plan d'exécution
- 2. SQL Server De quelle taille est VLDB
- 3. Dans quelle mesure SQL Server est-il implémenté dans PDO?
- 4. Que montre le plan d'exécution SQL Server?
- 5. Modifier l'emplacement du rapport de plan de maintenance SQL Server?
- 6. Quelle est l'utilisation de Cursor Auto Fetch dans SQL Server?
- 7. Quelle est l'utilisation de l'opérateur "&" dans SQL SERVER
- 8. Quelle est l'horodatage SQL Server équivalente dans sqlce?
- 9. Reconstruction du plan d'exécution de requête SQL Server
- 10. Plan d'exécution de capture SQL Server
- 11. Quelle édition SQL Server choisir
- 12. Plan de maintenance SQL Server 2005 échoue
- 13. Des guides sur l'apprentissage de l'interprétation du plan d'exécution d'une requête SQL dans SQL Server 2005?
- 14. Pourquoi une instruction SELECT représenterait-elle 45% du coût du plan d'exécution dans SQL Server 2008?
- 15. Quelle est la différence entre SQL Server Compact Edition et SQL Server Express Edition?
- 16. Tables SQL Server: quelle est la différence entre @, # et ##?
- 17. Javascript est dans Sql Server?
- 18. Quelle est l'option MAXDOP et degré de Parallelismin SQL SERVER
- 19. Quelle est l'utilisation de GO dans SQL Server Management Studio et Transact SQL?
- 20. Comment créer un plan de maintenance dans SQL Server?
- 21. Quelle est la signification du symbole '@' dans Oracle SQL?
- 22. Quelle couleur d'arrière-plan est active dans Windows Phone 7?
- 23. Quelle authentification utilisant SQL Server hors processus
- 24. Débarrassez-vous du spouleur de table dans le plan d'exécution SQL Server
- 25. Migration du plan de maintenance de l'instance One Sql Server 2008 vers une autre
- 26. Réorganiser l'index et reconstruire l'index dans le plan de maintenance du serveur SQL Server
- 27. SQL Server - Plan d'exécution de requête pour les instructions conditionnelles
- 28. Authentification SQL Server dans SQL Server 2008
- 29. Retour du trimestre dans SQL Server
- 30. Quelle est la fiabilité de la réplication du serveur SQL?
Lire le SQL BOL (livres en ligne) il vient avec SQL et expliquer pleinement cet outil fondamental – TFD