Otimizador de consultas de banco de dados: a lacuna entre o ideal e a realidade
Os otimizadores de consultas de banco de dados visam selecionar o plano de consulta ideal, mas sua dependência em estimativas de custo, que por sua vez dependem da seletividade e do custo de recursos básicos (E/S, CPU, etc.), muitas vezes leva a erros. Experimentos revelam que, para consultas SELECT simples, a precisão da seleção de plano do otimizador varia muito dependendo da distribuição de dados. Com conjuntos de dados uniformes, as varreduras de bitmap geralmente superam as varreduras de índice; no entanto, com outras distribuições, o otimizador é mais propenso a selecionar varreduras de índice subótimas. Isso demonstra que, mesmo para consultas simples, o modelo de custo do otimizador luta para se adaptar perfeitamente a diversas distribuições de dados e ambientes de hardware. Embora o planejamento baseado em custo continue sendo a melhor abordagem, melhorar sua robustez e adaptabilidade continua sendo um desafio significativo.