O otimizador do MySQL reescreve e reotimiza instruções SQL em tempo de execução. Esse processo gera planos de execução eficientes para a maioria das consultas. Contudo, em ambientes de produção, estatísticas desatualizadas, alterações de esquema ou adição de índices podem levar o otimizador a mudar silenciosamente para um plano mais lento e degradar o desempenho das consultas.
O PolarDB for MySQL oferece dois recursos para fixar um plano de execução comprovadamente eficiente e evitar regressões de desempenho: statement outline e auto plan cache. Ambos operam no nível do banco de dados e dispensam alterações no código da aplicação.
Principais benefícios:
Fixa uma instrução SQL a um plano de execução específico para impedir que mudanças no otimizador a afetem.
Estabiliza os planos de execução sem modificar o SQL da aplicação ou reimplantar serviços.
Aplica controles de plano a instruções específicas e permite que o otimizador opere livremente nas demais.
Escolha o recurso adequado:
Use o statement outline para direcionar o otimizador a um plano específico mediante a injeção de hints SQL durante o parsing. Ideal para prevenir regressões de índice e fixar planos após ajustes de desempenho.
Use o auto plan cache para armazenar em cache e reutilizar planos de execução de instruções SQL idênticas repetidas, reduzindo a sobrecarga recorrente de parsing e otimização. Recomendado para consultas transacionais de alta frequência.