Esta página descreve o consultor de índices do Cloud SQL para MySQL e como pode ver e aplicar as respetivas recomendações de índices.
O Cloud SQL para MySQL oferece um consultor de índices totalmente gerido que acompanha as consultas que a sua base de dados processa regularmente. Periodicamente, o consultor de índices analisa estas consultas para recomendar novos índices que podem melhorar o desempenho das consultas. O consultor de índices permite-lhe detetar e corrigir problemas de desempenho com sistemas e consultas.
Como funciona o consultor de índice?
O consultor de índices ajuda a melhorar o processamento de consultas através do seguinte:
- Recomendar um conjunto de índices com comandos SQL para criar índices.
- Fornecer dados para ajudar a avaliar os índices recomendados, por exemplo, o tamanho de armazenamento estimado e o impacto dos índices numa consulta.
CREATE INDEX
que contém o nome da base de dados, o nome da tabela e os nomes das colunas. As consultas monitorizadas são todas consultas normalizadas com todos os literais removidos.
As recomendações de índice são encriptadas em repouso.
No Cloud SQL para MySQL, pode usar flags de base de dados para configurar e otimizar o Index Advisor. Para mais informações, consulte o artigo Sinalizações do consultor de índice.Limitações
O Consultor de índices do Cloud SQL para MySQL tem as seguintes limitações:
- O consultor de índices fornece apenas
CREATE INDEX
recomendações. - O consultor de índices não suporta instâncias com as seguintes configurações:
- Instâncias da edição Enterprise do Cloud SQL
- Instâncias que usam tipos de máquinas com núcleo partilhado
Antes de começar
Para obter recomendações do Consultor de índices, tem de usar a edição Cloud SQL Enterprise Plus e ativar as estatísticas de consultas para a edição Cloud SQL Enterprise Plus para a sua instância do Cloud SQL.
Funções e autorizações necessárias
Para receber as autorizações de que
precisa para obter recomendações do Consultor de índices,
peça ao seu administrador para lhe conceder a função de IAM
Visualizador do Cloud SQL (roles/cloudsql.viewer
)
no projeto que aloja a instância do Cloud SQL.
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Esta função predefinida contém as autorizações necessárias para obter recomendações do Consultor de índices. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para receber recomendações do Consultor de índices:
-
databaseinsights.recommendations.query
-
databaseinsights.resourceRecommendations.query
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Ative as recomendações do consultor de índices
Quando ativa as estatísticas de consultas para a edição Cloud SQL Enterprise Plus, ativa automaticamente as recomendações do consultor de índices.
Desative as recomendações do consultor de índices
Não pode desativar as recomendações do Consultor de índices sem desativar as estatísticas de consultas para a edição Cloud SQL Enterprise Plus.
Para desativar as recomendações do Consultor de índices e as estatísticas de consultas para a edição Cloud SQL Enterprise Plus, consulte o artigo Desative as estatísticas de consultas para a edição Cloud SQL Enterprise Plus.
Veja as recomendações do consultor de índices
O Cloud SQL executa automaticamente a análise do Index Advisor periodicamente. Para ver as recomendações do consultor de índices, use o painel de controlo Estatísticas de consultas. Também pode ver e consultar as recomendações do Consultor de índices como uma tabela ou pedir uma análise e um relatório a pedido em qualquer altura.
Veja e filtre recomendações no painel de controlo das estatísticas de consultas
-
Na Trusted Cloud consola, aceda à página Instâncias do Cloud SQL.
- Para abrir a página Vista geral de uma instância, clique no nome da instância.
- Clique em Estatísticas de consultas.
- As recomendações do consultor de índices são apresentadas na coluna Recomendação da secção Principais consultas e etiquetas.
- Opcional: para ver apenas as consultas com recomendações
CREATE INDEX
, adicione um filtro para Recomendação: criar índices.
Veja recomendações para uma consulta
Para ver recomendações de índice para uma consulta específica, siga estes passos:
-
Na Trusted Cloud consola, aceda à página Instâncias do Cloud SQL.
- Para abrir a página Vista geral de uma instância, clique no nome da instância.
- Clique em Estatísticas de consultas.
- Na secção Principais consultas e etiquetas, clique em Consultas.
- Para ver os detalhes das recomendações de uma consulta, faça uma das seguintes ações:
- Clique numa consulta para saber mais sobre as recomendações para a consulta selecionada, incluindo as seguintes informações:
- Impacto no desempenho (elevado, médio e baixo): a velocidade de consulta estimada após a criação de todos os índices recomendados.
- Recomendações: crie recomendações de índice.
- Tabelas afetadas: o número de tabelas que serão afetadas quando os índices forem criados.
- Armazenamento adicional estimado necessário: o tamanho de armazenamento estimado necessário para criar todos os índices recomendados.
- Número de consultas afetadas: o número total de consultas no conjunto de trabalho afetadas pelas recomendações de índices. Um índice pode beneficiar várias consultas.
- Clique em Criar índices para uma consulta específica para saber recomendações detalhadas sobre a criação de índices para melhorar o desempenho das consultas.
- Clique numa consulta para saber mais sobre as recomendações para a consulta selecionada, incluindo as seguintes informações:
Veja as recomendações como uma vista de tabela de base de dados
Pode ler os resultados através da seguinte tabela localizada na base de dados:mysql
mysql.cloudsql_db_advisor_recommended_indexes
: apresenta todos os novos índices recomendados para cada base de dados. Também inclui estimativas do armazenamento necessário para cada índice e o número de consultas que cada índice pode afetar.
Por exemplo, para ver os resultados da análise de recomendações de índice mais recente, formatados como uma tabela, execute esta consulta:
SELECT * FROM mysql.cloudsql_db_advisor_recommended_indexes;
Crie índices recomendados
Pode criar índices recomendados a partir do painel de controlo Estatísticas de consultas ou a partir de uma vista de tabela da base de dados.
Crie um índice recomendado com o painel de controlo Estatísticas de consultas
Para criar um índice recomendado através do painel de controlo Estatísticas de consultas, faça o seguinte:
-
Na Trusted Cloud consola, aceda à página Instâncias do Cloud SQL.
- Para abrir a página Vista geral de uma instância, clique no nome da instância.
- Clique em Estatísticas de consultas.
- Na tabela Principais dimensões por carga da base de dados, clique em Consultas.
- Clique em Criar índices para uma consulta específica.
- Clique em Copiar todos os comandos de índice. Os comandos
CREATE INDEX
são copiados para a área de transferência. - Ligue-se à instância principal na linha de comandos.
Para criar os índices recomendados, execute os comandos que foram copiados para a área de transferência, por exemplo:
CREATE INDEX ON "public"."demo_order" ("customer_id");
Crie um índice recomendado com uma vista de tabela da base de dados
A coluna index
da tabela mysql.cloudsql_db_advisor_recommended_indexes
contém, em cada linha, uma declaração CREATE INDEX
DDL
completa do MySQL para gerar o índice recomendado nessa linha.
Para aplicar a recomendação dessa linha, execute a declaração DDL exatamente como apresentada.
Por exemplo, considere este resultado da execução manual de uma análise, usando a consulta descrita na secção anterior:
index | estimated_storage_size_in_mb
--------------------------------------------+------------------------------
CREATE INDEX ON "School"."Students"("age") | 3
(1 row)
Este relatório contém uma única recomendação: adicionar um índice de coluna única na coluna age
na tabela Students
do esquema School
. Para aplicar este conselho, introduza uma consulta DDL conforme representado no relatório:
CREATE INDEX ON "School"."Students"("age");
Veja as consultas afetadas
-
Na Trusted Cloud consola, aceda à página Instâncias do Cloud SQL.
- Para abrir a página Vista geral de uma instância, clique no nome da instância.
- Clique em Estatísticas de consultas.
- Na tabela Principais dimensões por carga da base de dados, clique em Consultas.
- Clique em Criar índices para uma consulta específica.
- Clique em Mostrar consultas afetadas.
- Clique numa consulta para saber detalhes sobre a consulta afetada.
Configure o consultor de índices
Embora o consultor de índices tenha sido concebido para funcionar na maioria dos exemplos de utilização com as suas definições predefinidas, pode otimizar o respetivo comportamento definindo várias flags da base de dados.
Por predefinição, o consultor de índices é executado uma vez a cada 24 horas. Pode modificar a hora de agendamento automático através da flag cloudsql_index_advisor_auto_advisor_schedule
ou executar uma análise ad hoc numa data/hora específica através da flag cloudsql_index_advisor_run_at_timestamp
.
Para mais informações, consulte o artigo
Indicadores do consultor de índice.