Maison >base de données >tutoriel mysql >Comment obtenir un plan d'exécution de requêtes SQL Server ?

Comment obtenir un plan d'exécution de requêtes SQL Server ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-24 03:22:09890parcourir

How to Get a SQL Server Query Execution Plan?

Maîtriser les plans d'exécution de requêtes SQL Server : un guide complet

Comprendre comment SQL Server exécute vos requêtes est essentiel pour l'optimisation des performances. Ce guide présente plusieurs méthodes pour obtenir des plans d'exécution de requêtes, vous aidant ainsi à identifier les goulots d'étranglement et à optimiser votre code.

Méthode 1 : tirer parti de SQL Server Management Studio (SSMS)

SSMS propose une approche simple. Activez simplement « Inclure le plan d'exécution réel » dans le menu « Requête » avant d'exécuter votre requête. Le plan d'exécution sera alors affiché dans l'onglet "Plan d'exécution" du volet des résultats.

Méthode 2 : Utilisation des options SHOWPLAN

Vous pouvez également utiliser les SHOWPLAN déclarations suivantes :

<code class="language-sql">SET SHOWPLAN_TEXT ON;  -- Basic text-based plan
SET SHOWPLAN_ALL ON;   -- Text-based plan with cost estimates
SET SHOWPLAN_XML ON;   -- XML-based plan
SET STATISTICS PROFILE ON; -- Text-based actual plan
SET STATISTICS XML ON;  -- XML-based actual plan</code>

Méthode 3 : Utilisation du profileur SQL Server

Configurez une trace dans SQL Server Profiler pour capturer les événements "Showplan XML". Exécutez votre requête pendant que la trace est active, puis extrayez et enregistrez le plan XML résultant.

Méthode 4 : Examen du cache de requêtes

Interrogez directement les vues de gestion dynamique (DMV) de SQL Server pour accéder au cache du plan de requête :

<code class="language-sql">SELECT UseCounts, Cacheobjtype, Objtype, TEXT, query_plan
FROM sys.dm_exec_cached_plans
CROSS APPLY sys.dm_exec_sql_text(plan_handle)
CROSS APPLY sys.dm_exec_query_plan(plan_handle);</code>

Considérations importantes :

  • Obtenez toujours le plan d'exécution à partir de la base de données rencontrant des problèmes de performances.
  • Les procédures stockées chiffrées empêchent la capture du plan.
  • Les plans d'exécution réels, fournissant des informations détaillées sur l'exécution, sont plus informatifs que les plans estimés.

Lectures complémentaires :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn