Optimizador de consultas de bases de datos: la brecha entre lo ideal y la realidad
Los optimizadores de consultas de bases de datos buscan seleccionar el plan de consulta óptimo, pero su dependencia de las estimaciones de costo, que a su vez dependen de la selectividad y el costo de los recursos básicos (E/S, CPU, etc.), a menudo conduce a errores. Los experimentos revelan que, para consultas SELECT simples, la precisión de la selección del plan del optimizador varía mucho según la distribución de los datos. Con conjuntos de datos uniformes, las exploraciones de mapa de bits generalmente superan a las exploraciones de índice; sin embargo, con otras distribuciones, el optimizador es más propenso a seleccionar exploraciones de índice subóptimas. Esto demuestra que, incluso para consultas simples, el modelo de costo del optimizador tiene dificultades para adaptarse perfectamente a diversas distribuciones de datos y entornos de hardware. Si bien la planificación basada en costos sigue siendo el mejor enfoque, mejorar su robustez y adaptabilidad sigue siendo un desafío significativo.