Published on

June 22, 2022

Cómo obtener un plan de ejecución SQL en SQL Server

Introducción:

Un plan de ejecución SQL es una herramienta poderosa que ayuda a diagnosticar problemas de rendimiento de consultas y comprender el funcionamiento interno de operaciones complejas. Proporciona un informe detallado en formato visual o XML que describe cómo se ejecuta una consulta paso a paso. El plan de ejecución incluye información sobre el consumo de recursos y otras medidas estadísticas, lo que lo convierte en una herramienta esencial para resolver problemas de rendimiento.

Tipos de planes de ejecución:

SQL Server ofrece dos tipos de planes de ejecución:

  • Plan de ejecución estimado: Este plan muestra los pasos y el flujo que pueden ocurrir si se ejecuta la consulta. Proporciona detalles estimados.
  • Plan de ejecución real: Este plan se genera después de la ejecución exitosa de una consulta e incluye estadísticas reales.

Métodos para obtener un plan de ejecución SQL:

Azure Data Studio:

Azure Data Studio es un entorno de desarrollo de bases de datos versátil que se puede utilizar para plataformas de datos locales y en la nube. Para mostrar el plan de ejecución estimado de una consulta en Azure Data Studio, siga estos pasos:

  1. Haga clic en el botón “Explain” en la parte superior de la ventana de consulta.
  2. En la pestaña “Top Operations”, puede encontrar sugerencias de índices faltantes.
  3. La pestaña “Results” muestra el formato XML del plan de ejecución SQL estimado.
  4. Para mostrar el plan de consulta real, habilite el Command Palette expandiendo el menú View y seleccionando “Command Palette”.
  5. Escriba la palabra clave “actual” en el cuadro y haga clic en “Run Current Query with Actual Plan”. Esto ejecutará la consulta y mostrará el plan de consulta real.

SQL Server Management Studio (SSMS):

SSMS es un entorno de desarrollo avanzado para configurar, administrar y administrar bases de datos de SQL Server. Para obtener planes de consulta estimados y reales en SSMS, puede utilizar las siguientes opciones:

  • En el menú Query, seleccione “Display Estimated Execution Plan” para ver el plan de ejecución estimado.
  • En el menú Query, seleccione “Include Actual Execution Plan” para ver el plan de ejecución real.
  • Alternativamente, puede utilizar los botones pequeños ubicados en la barra de herramientas del editor de SQL para mostrar el plan de ejecución gráfico en la pestaña Execution Plan.
  • Para ver el plan de ejecución en formato XML, haga clic derecho en el plan de ejecución y elija “Show Execution Plan XML”.

Usando el comando SET SHOWPLAN:

Además de los planes de consulta gráficos, puede obtener planes de ejecución en formato de texto o XML utilizando el comando SET SHOWPLAN. Aquí hay algunos ejemplos:

  • SET SHOWPLAN_TEXT: Devuelve un conjunto de resultados de árbol jerárquico que incluye el orden de los operadores a realizar.
  • SET SHOWPLAN_ALL: Devuelve un plan de ejecución estimado en formato de texto, incluyendo números de fila y estimaciones de costo de recursos.
  • SET SHOWPLAN_XML: Muestra el plan de ejecución estimado en formato XML.

Usando Query Store:

Query Store de SQL Server almacena automáticamente planes de ejecución SQL y métricas de rendimiento de consultas. Ofrece diferentes informes para analizar el rendimiento de las consultas y le permite forzar una consulta a utilizar un plan de ejecución específico. La tabla interna sys.query_store_plan almacena detalles sobre los planes de ejecución SQL relacionados con las consultas capturadas.

Usando Extended Events:

Extended Events es una herramienta de monitoreo que captura diversas actividades en el motor de la base de datos. Puede capturar planes de consulta estimados y reales. Al crear un evento extendido y habilitarlo, puede observar los eventos capturados y analizar los planes de consulta.

Usando la caché de planes de consulta de SQL Server:

SQL Server almacena planes compilados en la caché de planes de consulta para su reutilización por el optimizador de consultas. Puede ver estos planes en caché utilizando la vista de administración dinámica dm_exec_cached_plans.

Conclusión:

Los planes de ejecución SQL son esenciales para comprender el rendimiento de las consultas y resolver problemas. Utilizando herramientas como Azure Data Studio, SQL Server Management Studio, el comando SET SHOWPLAN, Query Store y Extended Events, puede obtener y analizar planes de ejecución para optimizar sus consultas y mejorar el rendimiento.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.