Planes de ejecución

Se aplica a: síSQL Server (todas las versiones admitidas) SíAzure SQL Database

Para poder ejecutar consultas, el Motor de base de datos de SQL Server debe analizar la instrucción para determinar la manera más eficaz para tener acceso a los datos necesarios. Este análisis se controla mediante un componente denominado Optimizador de consultas. La entrada al Optimizador de consultas consta de la consulta, el esquema de la base de datos (definiciones de tabla e índice) y las estadísticas de base de datos. La salida del Optimizador de consultas es un plan de ejecución de consultas, en ocasiones denominado plan de consulta o simplemente plan de ejecución.

Un plan de ejecución de consulta es una definición de los siguientes elementos:

  • La secuencia en la que se tiene acceso a las tablas de origen.
    Normalmente, hay muchas secuencias diferentes en las que el servidor de la base de datos puede tener acceso a las tablas base para generar el conjunto de resultados. Por ejemplo, si una instrucción SELECT hace referencia a tres tablas, el servidor de la base de datos podría tener acceso primero a TableA, utilizar los datos de TableA para extraer las filas que coincidan con las de TableBy, finalmente, utilizar los datos de TableB para extraer datos de TableC. Las demás secuencias en las que el servidor de base de datos podría tener acceso a las tablas son:
    TableC, TableB, TableAo
    TableB, TableA, TableCo
    TableB, TableC, TableAo
    TableC, TableA, TableB

  • Los métodos que se usan para extraer los datos de cada tabla.
    Por lo general, hay métodos diferentes para tener acceso a los datos de cada tabla. Si solo se necesitan unas cuantas filas con valores de clave específicos, el servidor de la base de datos puede utilizar un índice. Si se necesitan todas las filas de una tabla, el servidor de la base de datos puede omitir los índices y realizar un recorrido de la tabla. Si se necesitan todas las filas de la tabla, pero hay un índice cuyas columnas de clave están ordenadas con ORDER BY, realizar un recorrido del índice en lugar de un recorrido de la tabla puede evitar otra ordenación del conjunto de resultados. Si la tabla es muy pequeña, el recorrido de la misma puede ser el método más eficaz para la mayoría de los accesos a la tabla.

  • Los métodos que se usan para realizar cálculos, y cómo filtrar, agregar y ordenar los datos de cada tabla.
    A medida que se tiene acceso a los datos desde las tablas, existen distintos métodos para realizar cálculos sobre ellos (por ejemplo, calcular valores escalares), para agregarlos y ordenarlos tal como se define en el texto de la consulta, por ejemplo, cuando se usa una cláusula GROUP BY o ORDER BY, y cómo filtrarlos, por ejemplo, cuando se usa una cláusula WHERE o HAVING.

Nota

SQL Server Management Studio tiene tres opciones para mostrar los planes de ejecución:

  • El plan de ejecución estimado es el plan compilado, generado por el optimizador de consultas en función de las estimaciones. Este es el plan de consulta que se almacena en la caché de planes.
  • El * plan de ejecución real _ es el plan compilado más su contexto de ejecución. Estará disponible _una vez finalizada la ejecución de la consulta*. Esto incluye la información del entorno de ejecución real, como advertencias de ejecución o, en versiones más recientes del Motor de base de datos, el tiempo transcurrido y el tiempo de CPU usado durante la ejecución.
  • Las * estadísticas de consulta activa _ son el plan compilado más su contexto de ejecución. Está disponible para _ejecuciones de consultas en curso* y se actualiza cada segundo. Esto incluye información del entorno de ejecución, como el número real de filas que fluyen a través de los operadores, el tiempo transcurrido y el progreso estimado de la consulta.

Sugerencia

Para más información sobre el procesamiento de consultas y los planes de ejecución de consultas, consulte las secciones Optimización de las instrucciones SELECT y Almacenar en caché y volver a utilizar un plan de ejecución de la Guía de arquitectura de procesamiento de consultas.

En esta sección

Infraestructura de generación de perfiles de consultas
Mostrar y guardar planes de ejecución
Comparación y análisis de los planes de ejecución
Guías de plan

Consulte también

Supervisión y optimización del rendimiento
Herramientas de supervisión y optimización del rendimiento
Query Processing Architecture Guide (Guía de arquitectura de procesamiento de consultas)
Estadísticas de consultas activas
Monitor de actividad
Supervisión del rendimiento mediante el almacén de consultas
sys.dm_exec_query_statistics_xml
sys.dm_exec_query_profiles
Marcas de seguimiento
Referencia de operadores lógicos y físicos del plan de presentación