plan de consulta


Un plan de consulta (o plan de ejecución de consulta ) es una secuencia de pasos utilizados para acceder a los datos en un sistema de gestión de base de datos relacional SQL . Este es un caso específico del concepto de modelo relacional de los planes de acceso.

Dado que SQL es declarativo , normalmente hay muchas formas alternativas de ejecutar una consulta determinada, con un rendimiento muy variable. Cuando se envía una consulta a la base de datos, el optimizador de consultas evalúa algunos de los diferentes planes correctos posibles para ejecutar la consulta y devuelve lo que considera la mejor opción. Debido a que los optimizadores de consultas son imperfectos, los usuarios y administradores de bases de datos a veces necesitan examinar y ajustar manualmente los planes producidos por el optimizador para obtener un mejor rendimiento.

Un sistema de gestión de base de datos dado puede ofrecer uno o más mecanismos para devolver el plan para una consulta dada. Algunos paquetes cuentan con herramientas que generarán una representación gráfica de un plan de consulta. Otras herramientas permiten establecer un modo especial en la conexión para que el DBMS devuelva una descripción textual del plan de consulta. Otro mecanismo para recuperar el plan de consulta consiste en consultar una tabla de base de datos virtual después de ejecutar la consulta que se va a examinar. En Oracle, por ejemplo, esto se puede lograr utilizando la instrucción EXPLAIN PLAN.

La herramienta Microsoft SQL Server Management Studio , que se incluye con Microsoft SQL Server , por ejemplo, muestra este plan gráfico al ejecutar este ejemplo de combinación de dos tablas en una base de datos de ejemplo incluida:

La interfaz de usuario permite la exploración de varios atributos de los operadores involucrados en el plan de consulta, incluido el tipo de operador, la cantidad de filas que consume o produce cada operador y el costo esperado del trabajo de cada operador.

Indica que el motor de consulta realizará un escaneo sobre el índice de clave principal en la tabla de empleados y una búsqueda coincidente a través del índice de clave principal (la columna ContactID) en la tabla de contactos para encontrar filas coincidentes. Las filas resultantes de cada lado se mostrarán a un operador de unión de bucles anidados, se ordenarán y luego se devolverán como el conjunto de resultados a la conexión.


Microsoft SQL Server Management Studio mostrando un plan de consulta de muestra.