Acciones disponibles en el plan gráfico de SSMS

El plan gráfico no es solamente una imagen. SSMS permite inspeccionar un operador, abrir la representación XML, guardar el plan y preparar comparaciones o análisis. Cada acción abre evidencia distinta; ninguna convierte el menú contextual en un diagnóstico automático.

Cómo llegar al lienzo utilizado en esta entrada

En una ventana de consulta, activa Include Actual Execution Plan con Ctrl+M y ejecuta una instrucción de solo lectura. Abre la pestaña Execution plan. Un clic derecho sobre un operador abre acciones y propiedades relacionadas con ese nodo; un clic derecho en una zona vacía del lienzo abre las acciones del plan completo.

Si Execution plan no aparece, comprueba que Ctrl+M estaba activado antes de ejecutar. Display Estimated Execution Plan con Ctrl+L también abre un lienzo, pero las acciones que requieren mediciones reales pueden no estar disponibles.

Esta consulta produce el plan utilizado en las capturas:

SELECT
    p.IdPedido,
    p.IdCliente,
    p.FechaPedido,
    p.Total
FROM dbo.PedidoLaboratorio AS p
WHERE p.IdPedido BETWEEN 100 AND 200
OPTION (MAXDOP 1);

El operador y el plan completo no son lo mismo

Un operador es un nodo del árbol, como Clustered Index Seek. El plan completo reúne la instrucción, sus operadores, las conexiones entre ellos y propiedades que pertenecen al conjunto.

Al colocar el puntero sobre un operador aparece información emergente. Al seleccionarlo y abrir Properties, vemos sus propiedades completas. En cambio, las acciones para guardar, mostrar el XML, comparar o analizar trabajan con el plan, aunque el menú se haya abierto encima de un nodo.

Información emergente del operador

Información emergente de un operador en el plan gráfico de SSMS

  1. 1
    Operador señalado

    La información corresponde al nodo sobre el que está situado el puntero; no resume todos los operadores del plan.

  2. 2
    Resumen inmediato

    El recuadro reúne operación física y lógica, costos estimados, filas, objeto, columnas y predicados disponibles para ese nodo.

La información emergente sirve para una primera lectura. Un plan estimado muestra estimaciones; un plan real puede agregar filas observadas, ejecuciones y advertencias producidas al ejecutar. La presencia de una propiedad depende del tipo de plan, del operador y de la versión de SQL Server.

Properties conserva el detalle del nodo seleccionado

Seleccionamos el operador y presionamos F4, o elegimos Properties en el menú contextual. El panel permanece abierto mientras recorremos otros nodos y actualiza sus valores con la selección.

Panel Properties para un operador seleccionado en SSMS

  1. 1
    Operador identificado

    El encabezado confirma que el panel corresponde a Clustered Index Seek.

  2. 2
    Panel persistente

    Las categorías pueden expandirse mientras recorremos otros nodos del árbol.

  3. 3
    Propiedad específica

    Seek Predicates muestra el intervalo utilizado para localizar filas. Otros operadores presentan grupos diferentes.

Properties no cambia la consulta ni el plan. Expone datos que ya forman parte de la representación abierta. Conviene usarlo cuando el recuadro emergente corta un valor, cuando necesitamos recorrer categorías o cuando compararemos la misma propiedad entre dos nodos.

Acciones que pertenecen al plan

Al hacer clic derecho en el lienzo aparecen acciones sobre la representación completa:

Menú contextual del plan gráfico de SSMS

  1. 1
    Conservar o abrir la fuente

    Save Execution Plan As guarda un archivo .sqlplan; Show Execution Plan XML abre su representación estructurada.

  2. 2
    Comparar, analizar y localizar

    Compare Showplan prepara una comparación, Analyze Actual Execution Plan abre el análisis del plan real y Find Node busca nodos por propiedades.

  3. 3
    Ajustar la vista

    Las opciones de zoom cambian la escala del lienzo. No modifican el plan ni el costo de la consulta.

  4. 4
    Propiedades de la selección

    Properties abre el panel y muestra el elemento que esté seleccionado en ese momento.

Que una acción aparezca en el menú no significa que sea aplicable con la misma profundidad a cualquier plan. El análisis requiere un plan real; una comparación necesita otro archivo o plan abierto; y las propiedades cambian según la selección.

Guardar un archivo .sqlplan

Save Execution Plan As conserva una copia que SSMS puede volver a abrir. El archivo permite revisar el árbol sin ejecutar otra vez la consulta y sirve como evidencia de una prueba o como entrada para una comparación posterior.

Un .sqlplan es XML. Puede contener el texto de la consulta, nombres de servidores, bases, esquemas, tablas, índices, valores de parámetros y otras propiedades del entorno. Antes de compartirlo debemos revisar esa información y aplicar las reglas de privacidad de la organización. Cambiar la extensión o tomar una captura no elimina esos datos de la fuente.

Abrir el XML Showplan

Show Execution Plan XML abre la fuente estructurada que SSMS utiliza para representar el gráfico:

XML Showplan abierto desde el plan gráfico de SSMS

  1. 1
    Pestaña XML

    SSMS abre la representación en otra pestaña; el plan gráfico original permanece disponible.

  2. 2
    Documento Showplan

    ShowPlanXML identifica el formato y la versión con la que se describe el plan.

  3. 3
    Operador estructurado

    RelOp contiene atributos del nodo y elementos hijos con objetos, columnas, predicados y otras propiedades.

El XML permite encontrar propiedades que el gráfico resume u oculta y automatizar comparaciones controladas. No conviene inferir el significado de un atributo aislado sin relacionarlo con la instrucción, el operador y el tipo de plan.

Comparar y analizar son recorridos posteriores

Compare Showplan alinea dos planes y resalta diferencias estructurales. No demuestra por sí mismo que el segundo sea mejor: la comparación necesita condiciones de prueba y métricas equivalentes.

Analyze Actual Execution Plan organiza escenarios a partir de un plan real y señala diferencias o posibles explicaciones. Su salida es una ayuda para formular hipótesis, no una causa confirmada ni una orden de corrección. La interfaz se estudiará después de comprender cómo se organiza el XML Showplan.

Qué podemos concluir

Podemos distinguir qué información pertenece a un operador y qué acciones trabajan con el plan completo. También podemos conservar la evidencia, abrir su fuente estructurada y preparar una comparación sin volver a ejecutar la consulta.

No podemos concluir que una recomendación sea correcta por aparecer en una herramienta de SSMS. El plan, sus propiedades y sus asistentes siguen necesitando contexto, métricas y una comprobación controlada.

Siguiente comprobación razonable

La siguiente entrada abre el XML Showplan para relacionar cada nodo gráfico con sus propiedades, recorrer la jerarquía del documento y distinguir las estimaciones de las métricas que agrega un plan real.

Relacionado con

Índice del recorrido

Planes de ejecución

30 artículos de Planes de ejecución
  1. 01Para qué sirve un plan de ejecución
  2. 02Plan estimado, plan real y estadísticas en vivo
  3. 03Cómo se organiza el árbol de un plan de ejecución
  4. 04Flechas, propiedades y número de ejecuciones
  5. 05Mapa de operadores: qué papel cumple cada nodo
  6. 06Filas estimadas y filas reales
  7. 07Index Seek, Index Scan y Table Scan
  8. 08Key Lookup y trabajo repetido
  9. 09Filter, Compute Scalar y Top
  10. 10Nested Loops, Hash Match y Merge Join
  11. 11Sort, Segment y Sequence Project
  12. 12Stream Aggregate y Hash Match (Aggregate)
  13. 13Spool: materialización y reutilización
  14. 14Parallelism: distribuir, repartir y reunir filas
  15. 15Advertencias del plan que requieren investigación
  16. 16Acciones disponibles en el plan gráfico de SSMS
  17. 17Cómo se organiza el XML Showplan
  18. 18Recorrer Analyze Actual Execution Plan
  19. 19Lecturas con SET STATISTICS IO
  20. 20CPU y duración con SET STATISTICS TIME
  21. 21Construir una línea base repetible
  22. 22Guardar y comparar dos planes
  23. 23Historial y regresiones con Query Store
  24. 24Convertir un escenario de Analyze Actual Execution Plan en una hipótesis
  25. 25Leer una sugerencia Missing Index en el plan
  26. 26Entender el CREATE INDEX generado por SSMS
  27. 27Decidir, crear y comprobar un índice
  28. 28De una consulta lenta a una hipótesis comprobable
  29. 29Evaluar un cambio sin optimizar solo una ejecución
  30. 30Análisis guiado de una consulta empresarial reproducible