Consultas SQL lentas podem degradar o desempenho da aplicação e costumam ser difíceis de diagnosticar manualmente. O Database Autonomy Service (DAS) identifica automaticamente consultas SQL lentas na sua instância ApsaraDB RDS for MySQL, gera sugestões de otimização de índices e cria índices sem causar bloqueios de tabela, o que reduz a necessidade de intervenção manual.
Ativar a otimização automática de SQL em instâncias com consultas SQL normais e lentas pode degradar o desempenho geral da instância. Para limitar a otimização apenas a consultas anômalas, ative primeiro o recurso SQL Explorer and Audit. Consulte Use the SQL Explorer and Audit feature.
Pré-requisitos
Antes de começar, verifique se sua instância RDS executa uma das seguintes versões e edições do MySQL:
MySQL 8.0 no RDS High-availability Edition, RDS Enterprise Edition ou RDS Cluster Edition , RDS Enterprise Edition,
MySQL 5.7 no RDS High-availability Edition, RDS Enterprise Edition ou RDS Cluster Edition , RDS Enterprise Edition,
MySQL 5.6 no RDS High-availability Edition
MySQL 5.5 no RDS High-availability Edition
O recurso de otimização automática de SQL não oferece suporte a consultas SQL que envolvem tabelas com X-Engine.
Como funciona
O DAS utiliza instruções Online DDL compatíveis com o kernel nativo do MySQL para criar índices. Isso evita os bloqueios de tabela causados pela criação comum de índices. Para mais detalhes, consulte SQL optimization technology.
O DAS opera em dois modos:
|
Modo |
Ação do DAS |
|
SQL Diagnostics Only |
Executa diagnósticos diários de SQL e gera sugestões de otimização de índices. Não cria índices. |
|
SQL Diagnostics and Automatic Index Creation |
Executa diagnósticos diários de SQL, gera sugestões de otimização de índices e cria índices com base nessas sugestões durante a janela de manutenção da instância. |
Ativar otimização automática de SQL
Acesse a página Instances. Na barra de navegação superior, selecione a região da instância RDS. Localize a instância e clique em no respectivo ID.
No painel de navegação à esquerda, escolha Autonomy Services > Diagnostics. Na página exibida, clique em na aba Autonomy Center e, em seguida, clique em Autonomy Service Settings.
-
Na aba Autonomous Function Settings, ative o service de autonomia. Na aba Optimization and Throttling, selecione Automatic Index Creation and Deletion e escolha um modo:
SQL Diagnostics Only: O DAS diagnostica o SQL diariamente e fornece sugestões de otimização de índices. Nenhum índice é criado.
SQL Diagnostics and Automatic Index Creation: O DAS diagnostica o SQL diariamente, fornece sugestões de otimização de índices e cria índices automaticamente durante a janela de manutenção.
Clique em OK.
-
(Opcional) Na seção Alert Configuration, configure um modelo de alerta para receber notificações sobre tarefas de otimização automática de SQL. O sistema recomenda um modelo de alerta e adiciona regras para os eventos de autonomia necessários. Siga as instruções para configurar: se já houver um modelo de alerta configurado para esta instância, adicione as regras de alerta de eventos de autonomia necessárias a esse modelo existente. Caso ainda não tenha configurado nenhum, consulte Configure alert templates e Configure alert rules.
-
Na etapa Select Alert Contact Group, selecione um grupo de contatos de alerta. Para mais informações, consulte Manage alert contacts.
Clique em Add Contact para adicionar um contato de alerta.
Clique em Create Contact Group para crie um grupo de contatos de alerta.
Para atualize ou remover um contato existente, localize-o na lista e clique em Edit ou Remove na coluna Actions.
Confirme as configurações na etapa Associate with Resources.
Clique em Submit Configuration e confirme na caixa de diálogo.
-
Visualizar resultados da otimização
Na aba Autonomy Center, visualize eventos de otimização em um intervalo de tempo especificado.
Localize o evento desejado e clique em Details. Na aba Root Cause Analysis and Suggestions do evento Slow SQL Statements Diagnostics (Diagnostics and Optimization), visualize:
Problematic SQL Statements
SQL Statement Optimization
Index Recommendation
Statement Optimization

Próximos passos
Para otimizar manualmente uma instrução SQL específica, consulte SQL optimization.
Referência de API
|
Operação |
Descrição |
|
Ativa, modifica ou desativa a otimização automática de SQL para várias instâncias de banco de dados simultaneamente. |
|
|
Consulta sugestões de otimização de SQL geradas pelos diagnósticos de SQL. |
|
|
Consulta estatísticas sobre eventos de otimização automática de SQL em um período, incluindo contagem total de eventos e melhoria máxima. |