Mostrar planes de ejecución gráficos (SQL Server Management Studio)

SQL Server Management Studio es una herramienta gráfica interactiva que permite a un administrador o a un programador de bases de datos escribir consultas, ejecutar simultáneamente varias consultas, ver los resultados, analizar el plan de consultas y recibir asistencia para mejorar el rendimiento de las consultas. Las opciones del Plan de ejecución muestran gráficamente los métodos de recuperación de datos elegidos por el optimizador de consultas de SQL Server. El plan de ejecución gráfico utiliza iconos para representar la ejecución de instrucciones y consultas específicas en SQL Server en lugar de la representación tabular que crean las opciones de la instrucción SET (SET SHOWPLAN_ALL o SET SHOWPLAN_TEXT) de Transact-SQL, o el formato XML para la representación que crea SET SHOWPLAN_XML. La visualización gráfica es muy útil para comprender las características de rendimiento de una consulta. SQL Server Management Studio muestra las estadísticas que faltan, por lo que exige al optimizador de consultas que estime la selección de los predicados y, después, permite crear fácilmente las estadísticas que faltaban.

Nota

Los planes de ejecución no se muestran para los procedimientos almacenados cifrados ni para los desencadenadores.

Usar las opciones del plan de ejecución

Abra o escriba un script Transact-SQL que contenga las consultas que desee analizar en el editor de consultas de Management Studio. Una vez cargado el script en el editor de consultas de Management Studio, puede elegir si muestra un plan de ejecución estimado o el plan de ejecución real haciendo clic en el botón Mostrar plan de ejecución estimado o Incluir plan de ejecución real en la barra de herramientas del editor de consultas. Si hace clic en Mostrar plan de ejecución estimado, se analiza el script y se genera un plan de ejecución estimado. Si hace clic en Incluir plan de ejecución real, debe ejecutar el script antes de que se genere el plan de ejecución. Cuando el script se haya analizado o ejecutado, haga clic en la ficha Plan de ejecución para ver una representación gráfica del mismo.

Para usar la característica de plan de ejecución gráfico en Management Studio y utilizar las opciones de la instrucción SET de Transact-SQL de Showplan, los usuarios deben tener los permisos suficientes para ejecutar las instrucciones y consultas Transact-SQL. A los usuarios también se les debe conceder el permiso SHOWPLAN para todas las bases de datos que contienen objetos a los que se hace referencia. Para obtener más información, vea Seguridad del plan de presentación.

Interpretar la salida del plan de ejecución gráfico

Para ver el plan de ejecución, haga clic en la ficha Plan de ejecución del panel de resultados. La salida del plan de ejecución gráfico de SQL Server Management Studio se lee de derecha a izquierda y de arriba a abajo. Todas las consultas del lote se analizan y se presentan, incluido el costo de cada consulta como porcentaje del costo total del lote. Para obtener más información acerca de los iconos utilizados para mostrar los planes de ejecución en Management Studio, vea Iconos de plan de ejecución gráfico (SQL Server Management Studio).

En las siguientes descripciones se proporcionan las directrices para interpretar la salida de la ejecución gráfica en Management Studio:

  • Cada nodo de la estructura en árbol se representa como un icono que especifica el operador lógico y físico utilizado para ejecutar esa parte de la consulta o instrucción.

  • Cada nodo está relacionado con un nodo principal. Los nodos secundarios que tienen el mismo nodo principal se dibujan en la misma columna. Sin embargo, no todos los nodos de la misma columna tienen necesariamente el mismo nodo principal. Cada nodo se conecta a su nodo principal mediante reglas con puntas de flecha.

  • Los operadores se muestran como símbolos relacionados con un nodo principal específico.

  • El ancho de la flecha es proporcional al número de filas. Se utiliza el número real de filas cuando está disponible. Si no, se utiliza el número estimado de filas.

  • Cuando la consulta contiene varias instrucciones, se dibujan varios planes de ejecución de la consulta.

  • Las partes de las estructuras en árbol se determinan por el tipo de instrucción ejecutada.

  • Para las consultas en paralelo, en las que intervienen varias CPU, las Propiedades de cada nodo en el plan de ejecución gráfico muestran información acerca de los subprocesos del sistema operativo utilizados. Para ver las propiedades de un nodo, haga clic con el botón secundario en el nodo y, a continuación, haga clic en Propiedades. Para obtener más información acerca de consultas en paralelo, vea Procesar una consulta en paralelo.

    Tipo de instrucción

    Elemento de la estructura en árbol

    Transact-SQL y procedimientos almacenados

    Si la instrucción es un procedimiento almacenado o una instrucción de Transact-SQL, se convierte en la raíz de la estructura en árbol del plan de ejecución gráfico. El procedimiento almacenado puede contener varios procesos secundarios que representan las instrucciones a las que el procedimiento almacenado llama. Cada proceso secundario es un nodo o rama del árbol.

    Lenguaje de manipulación de datos (DML)

    Si la instrucción analizada por el optimizador de consultas de SQL Server es una instrucción DML, como SELECT, INSERT, DELETE o UPDATE, la instrucción DML es la raíz del árbol. Las instrucciones DML pueden tener hasta dos nodos secundarios. El primer nodo secundario es el plan de ejecución de la instrucción DML. El segundo nodo secundario representa un desencadenador, si se utiliza alguno en la instrucción.

    Condicional

    El plan de ejecución gráfico divide las instrucciones condicionales como IF…ELSE (si la condición se cumple, hacer lo siguiente; si no, ejecutar esta instrucción en su lugar) en tres nodos secundarios. La instrucción IF…ELSE es la raíz del árbol. La condición IF se convierte en un nodo del subárbol. Las condiciones THEN y ELSE se representan como bloques de instrucciones. Las instrucciones WHILE y DO-UNTIL se representan con un plan similar. IF y WHILE tienen sus propios iconos.

    Operadores relacionales

    Las operaciones que realiza el motor de consultas, como recorridos de tablas, combinaciones y agregaciones, se representan como nodos del árbol.

    DECLARE CURSOR

    La instrucción DECLARE CURSOR es la raíz del árbol del plan de ejecución gráfico, con su instrucción relacionada como nodo inferior.

Los colores individuales se han asociado a cada uno de los tres tipos de icono: los iconos del iterador (operadores lógicos y físicos) son azules, los iconos de los cursores son amarillos y los elementos del lenguaje son verdes.

Información sobre herramientas del nodo del plan de ejecución gráfico

Cada nodo muestra información sobre herramientas cuando el cursor se coloca sobre aquél, como se describe en la siguiente tabla. No todos los nodos de un plan de ejecución gráfico contienen todos los elementos de información sobre herramientas descritos aquí.

Elemento de información sobre herramientas

Descripción

Operación física

Operador físico utilizado, como Hash Join o Nested Loops. Los operadores físicos presentados en color rojo indican que el optimizador de consultas ha emitido una advertencia, por ejemplo, la falta de estadísticas de columna o de predicados de combinación. Esto puede causar que el optimizador de consultas elija un plan de consulta menos eficaz que el esperado. Para obtener más información acerca de las estadísticas de columnas, vea Utilizar las estadísticas para mejorar el rendimiento de las consultas.

Cuando el plan de ejecución gráfico sugiere la creación o actualización de las estadísticas, o la creación de un índice, las estadísticas e índices de columna que faltan pueden crearse o actualizarse inmediatamente mediante los menús de acceso directo del Explorador de objetos de SQL Server Management Studio. Para obtener más información, vea Temas de procedimientos de los índices.

Operación lógica

Operador lógico que coincide con el operador físico, como el operador Inner Join. El operador lógico se enumera después del operador físico en la parte superior de la información sobre herramientas.

Tamaño de fila estimado

Tamaño estimado de la fila creada por el operador (bytes).

Costo de E/S estimado

Costo estimado de toda la actividad de E/S para la operación. Este valor debe ser lo más pequeño posible.

Costo de CPU estimado

Costo estimado de toda la actividad de la CPU para la operación.

Costo de operador estimado

Costo del optimizador de consultas para ejecutar esta operación. El costo de esta operación como porcentaje del costo total de la consulta se muestra entre paréntesis. Debido a que el motor de consultas selecciona la operación más eficaz para realizar la consulta o ejecutar la instrucción, este valor debe ser el menor posible.

Costo de subárbol estimado

Costo total del optimizador de consultas para ejecutar esta operación y todas las operaciones del mismo subárbol anteriores a ésta.

Número de filas estimado1

Número de filas que produce el operador.

1 Este elemento de información sobre herramientas se muestra como el Número de filas en el plan de ejecución real.

Nota

La información que estaba disponible en los campos Argumento de los planes de ejecución gráficos en SQL Server 2000 ahora aparece de forma separada en la información sobre herramientas de los planes de ejecución gráficos.

Propiedades del nodo del plan de ejecución gráfico

Para ver información detallada sobre los nodos en el plan de ejecución gráfico, haga clic con el botón secundario en el nodo y, a continuación, haga clic en Propiedades.