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.