Published on

March 2, 2020

Comprendiendo los planes de ejecución en SQL Server

Como profesional de datos, es crucial entender cómo escribir consultas eficientes y optimizar consultas lentas para lograr un mejor rendimiento. Una forma de obtener información sobre el funcionamiento interno del motor de base de datos es examinando los planes de ejecución generados por el procesador de consultas.

¿Qué es un plan de ejecución?

Un plan de ejecución en SQL Server es una representación gráfica de los pasos involucrados en obtener resultados de las tablas de la base de datos. Cuando se ejecuta una consulta, el motor de procesamiento de consultas genera múltiples planes de ejecución y selecciona el que ofrece el mejor rendimiento. Hay dos tipos de planes de ejecución:

  • Plan de ejecución estimado: Este plan se genera por el procesador de consultas antes de ejecutar la consulta. Proporciona una estimación de los pasos involucrados en devolver los resultados.
  • Plan de ejecución real: Este plan se genera después de que se ha ejecutado la consulta. Muestra las operaciones y pasos reales involucrados en la ejecución de la consulta.

Generación de planes de ejecución

Generar planes de ejecución en SQL Server Management Studio es sencillo. Aquí están los pasos para obtener tanto los planes de ejecución estimados como los reales:

Planes de ejecución estimados

  1. Después de escribir la consulta, presiona “Ctrl + L” para generar el plan de ejecución estimado.
  2. Alternativamente, haz clic derecho en la ventana de consulta y selecciona “Mostrar plan de ejecución estimado” en el menú contextual.
  3. También puedes hacer clic en el icono “Mostrar plan de ejecución estimado” en la barra de herramientas de SQL Server Management Studio.

Planes de ejecución reales

  1. Pulsa “Ctrl + M” para generar el plan de ejecución real después de que la consulta se haya ejecutado correctamente.
  2. Alternativamente, haz clic derecho en la ventana de consulta y selecciona “Mostrar plan de ejecución real” en el menú contextual.
  3. También puedes hacer clic en el icono “Mostrar plan de ejecución real” en la barra de herramientas de SQL Server Management Studio.

Interpretación de los planes de ejecución

Una vez que hayas generado los planes de ejecución, verás una representación gráfica de las operaciones involucradas en la consulta. Al pasar el cursor sobre los componentes, puedes ver estadísticas detalladas para cada operación. El plan de ejecución se interpreta de derecha a izquierda y de arriba a abajo.

Por ejemplo, el operador de exploración de índice agrupado es uno de los componentes en el plan de ejecución. Al pasar el cursor sobre él, puedes ver métricas como operación física, operación lógica, modo de ejecución real, modo de ejecución estimado, número de filas leídas, número real de filas y más.

Es importante entender las métricas para cada operador en el plan de ejecución para identificar posibles cuellos de botella de rendimiento y optimizar la consulta en consecuencia.

Guardar un plan de ejecución

Si deseas guardar un plan de ejecución para futuras referencias, SQL Server Management Studio proporciona la opción de guardarlo como un archivo “.sqlplan”. Para guardar un plan de ejecución:

  1. Haz clic derecho en la ventana del plan.
  2. Selecciona “Guardar plan de ejecución como…”.
  3. Elige una ubicación y proporciona un nombre para el archivo del plan de ejecución.
  4. Haz clic en “Guardar”.

Puedes abrir el plan de ejecución guardado cuando sea necesario para analizar y optimizar consultas.

Conclusión

En este artículo, hemos explorado el concepto de los planes de ejecución en SQL Server y cómo generar e interpretarlos. Comprender los planes de ejecución es esencial para optimizar el rendimiento de las consultas y mejorar la eficiencia general de la base de datos. Al analizar las métricas y estadísticas proporcionadas en los planes de ejecución, puedes identificar áreas de mejora y tomar decisiones informadas para mejorar la ejecución de consultas.

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.