Join Order Optimization
La optimización del orden de joins selecciona el mejor orden para joins de múltiples tablas; con N! órdenes para N tablas, requiere búsqueda con poda.
Propósito
Entender las diferencias de rendimiento entre órdenes de join y evitar productos cartesianos y malos ordenamientos.
Mecanismo
La programación dinámica (System-R) enumera todos los órdenes para el óptimo en O(3^N). Los joins grandes usan poda voraz o heurística. Los árboles left-deep restringen el espacio de búsqueda. El orden del join afecta enormemente los tamaños de resultados intermedios.
Casos de uso
- Ajuste de joins de múltiples tablas
- Análisis de planes de ejecución
- Interioridades del optimizador