O Database Autonomy Service (DAS) oferece um recurso de otimização de SQL que gera automaticamente resultados de diagnóstico, sugestões de otimização e estimativas de ganho de desempenho. Analise esses resultados para decidir se adota as sugestões. Este tópico descreve como usar o recurso de otimização de SQL.
Pré-requisitos
-
O mecanismo de banco de dados deve ser um dos seguintes:
-
RDS for MySQL
NotaAs edições Basic e Cluster do RDS for MySQL não são compatíveis.
MyBase MySQL
-
PolarDB for MySQL
NotaClusters de nó único (antigas instâncias autônomas) do PolarDB for MySQL não são compatíveis.
-
PolarDB-X 2.0
NotaInstâncias do PolarDB-X 2.0 com versão principal
5.4.13e versão secundária no intervalo[16415631,16504348]não são compatíveis. Para verificar a versão da sua instância PolarDB-X 2.0, consulte Visualizar e atualizar a versão de uma instância. MongoDB
-
A instância de destino está conectada ao DAS. Para mais informações, consulte Conectar uma instância ao DAS.
O status de acesso da instância de destino é Normal Access.
Limitações
Não é possível diagnosticar ou otimizar instruções SQL em tabelas que usam o X-Engine.
No PolarDB-X, ao executar uma instrução SQL com prepared statement, o log de consultas lentas registra separadamente o modelo da instrução (por exemplo,
select * from test where a = ? and b = ?) e os parâmetros vinculados (por exemplo,params: [1, 2]). Como esse formato não pode ser executado diretamente como uma instrução SQL válida, recursos dependentes da instrução original para análise ou otimização podem apresentar limitações.
Crie análise visual de SQL a partir de logs lentos
Este recurso apresenta fluxos complexos de execução de SQL em formato visual e intuitivo. A interface gráfica exibe claramente o caminho de execução da consulta, a eficiência dos nós e possíveis gargalos. Isso ajuda a identificar e corrigir problemas rapidamente durante a otimização de SQL, revisões de código e verificações de integridade.
A otimização de SQL na página Slow Log Analysis é compatível apenas com instâncias RDS for MySQL 5.6, 5.7, and 8.0 e PolarDB for MySQL 5.6, 5.7, and 8.0.
Faça login no console do DAS.
No painel de navegação à esquerda, clique em .
Localize a instância de destino e clique em no ID da instância para abrir a página de detalhes.
No painel de navegação à esquerda, clique em Request Analysis > Slow Logs.
-
Na página Slow Log Analysis:
Na aba Slow Log Statistics, localize o modelo SQL desejado e clique em Optimize na coluna Actions.
Na aba Slow Log Details, localize a instrução SQL de destino e clique em Optimize na coluna Actions.
-
Na caixa de diálogo exibida, clique em Create Plan.
-
Selecione um tipo de nó de execução.
Standby node (Padrão): Nó standby da instância atual. Use este nó principalmente para análises de consulta rotineiras.
Event node: Nó de negócio onde a instrução SQL foi efetivamente executada. Recomendado para solução de problemas e otimização.
-
Clique em Confirm Creation para gerar um Visual Execution Plan.
Plano de execução visual
Otimizar SQL pela página Instance Sessions
Instâncias MySQL autogerenciadas, MongoDB e RDS for PostgreSQL não oferecem suporte à otimização de SQL na página Instance Sessions.
Faça login no console do DAS.
No painel de navegação à esquerda, clique em .
Localize a instância de destino e clique em no ID da instância para abrir a página de detalhes.
No painel de navegação à esquerda, clique em Instance Sessions.
Na área Instance Sessions, selecione a sessão a otimizar e clique em Optimize.
-
Na caixa de diálogo SQL Diagnostic Optimization exibida, visualize os resultados do diagnóstico de SQL.
Para aceitar a sugestão, clique em Copy no canto superior direito e cole o SQL otimizado no cliente de banco de dados ou no DMS para execução. Caso contrário, clique em Cancel para fechar a caixa de diálogo.
NotaO DAS diagnostica instruções SQL com base na complexidade, no volume de dados da tabela e na carga do banco de dados. Um diagnóstico pode levar mais de 20 segundos. Em seguida, o mecanismo fornece resultados de diagnóstico, sugestões de otimização e estimativas de ganho de desempenho para análise e adoção.
Após a conclusão do diagnóstico, a página exibe o SQL original, o plano de execução (incluindo colunas como select_type, type e rows), os resultados do diagnóstico (incluindo instruções DDL para sugestões de índices row-store e detalhes dos índices), benefícios da otimização (por exemplo, "Expected performance improvement: 0,55x" e "Low optimization gains") e sugestões de otimização de instruções.
Visualize histórico de diagnósticos de SQL
Faça login no console do DAS.
No painel de navegação à esquerda, clique em .
Localize a instância de destino e clique em no ID da instância para abrir a página de detalhes.
No painel de navegação à esquerda, clique em Request Diagnostic History para visualizar o histórico de diagnósticos de SQL da instância. Esta página inclui detalhes como conteúdo do SQL, status do diagnóstico, horário e resultados.