 ##  [Optimización de Consultas](/es/node/58811) 

 Definición

El proceso dentro de un sistema de gestión de bases de datos de seleccionar un plan de ejecución para una consulta declarativa transformando expresiones algebraicas equivalentes, estimando costes y eligiendo operadores, órdenes de joins y rutas de acceso que minimicen el uso esperado de recursos o la latencia.

 

 

 

 

 

 





## Principio

Principio

Buscar en el espacio de planes semánticamente equivalentes usando modelos de coste y estadísticas, aplicando transformaciones algebraicas (conmutatividad, asociatividad, empuje de predicados, proyección) y heurísticas para encontrar planes de bajo coste bajo restricciones.

 

 

 

 

 





## Demostración

Demostración

El optimizador reescribe una consulta SQL para empujar filtros antes de joins, elige un escaneo por índice en lugar de un escaneo de tabla según estimaciones de cardinalidad, y ordena joins para materializar resultados intermedios más pequeños, reduciendo E/S y tiempo de ejecución.

 

 

 

 

## Aplicación incorrecta

Aplicación incorrecta

Confiar en estadísticas obsoletas o ausentes produce malas estimaciones de cardinalidad y planes deficientes; la búsqueda exhaustiva sin poda puede ser inviable; la materialización prematura o el abuso de heurísticas puede hacer perder planes mejores.

 

 

 

 

 





## Consecuencia

Consecuencia

La optimización efectiva de consultas reduce sustancialmente la latencia y el consumo de recursos, permitiendo que cargas analíticas y OLTP complejas se ejecuten a escala con rendimiento predecible.

 

 

 

 

## Inversión

Inversión

Sin optimización, el SGBD puede ejecutar un plan ingenuo (escaneos completos, joins anidados sobre entradas grandes) que consume excesiva E/S y CPU y produce latencias mucho mayores.

 

 

 

 

 





## Límite

Límite

Se aplica a consultas declarativas en SGBD y motores de consulta; excluye la reescritura manual de consultas fuera del optimizador y el scheduling en tiempo de ejecución no relacionado con la elección de plan de una sola consulta.

 

 

 

 

 





## Tensión semántica

Tensión semántica

Existe tensión entre optimizadores basados en reglas y basados en costes, y entre búsqueda exhaustiva y poda heurística; además existe una compensación entre tiempo de optimización y rendimiento en ejecución.

 

 

 

 

 





## Síntesis

Síntesis

La optimización de consultas es el proceso de búsqueda y transformación guiado por costes que mapea una consulta declarativa a un plan de ejecución eficiente combinando reescrituras algebraicas, modelos de coste basados en estadísticas y heurísticas pragmáticas.