Nesta página, descrevemos o consultor de índice do Cloud SQL para MySQL e como é possível ver e aplicar as recomendações de índice.
O Cloud SQL para MySQL oferece um consultor de índice totalmente gerenciado que monitora regularmente as consultas processadas pelo seu banco de dados. Periodicamente, o consultor de índice analisa essas consultas para recomendar novos índices que podem melhorar o desempenho da consulta. O consultor de índice permite detectar e corrigir problemas de desempenho com sistemas e consultas.
Como funciona o consultor de índice?
O consultor de índice ajuda a melhorar o processamento de consultas realizando as seguintes ações:
- Recomendar um conjunto de índices com comandos SQL para criar índices.
- Fornece dados para ajudar você a avaliar os índices recomendados, como o tamanho do armazenamento estimado e o impacto dos índices em uma consulta.
CREATE INDEX
que contém os nomes do banco de dados, da tabela e das colunas. Todas as consultas monitoradas são normalizadas com todos os literais removidos.
As recomendações de índice são criptografadas em repouso.
No Cloud SQL para MySQL, é possível usar flags de banco de dados para configurar e ajustar o consultor de índice. Para mais informações, consulte Flags do consultor de índice.Limitações
O consultor de índice do Cloud SQL para MySQL tem as seguintes limitações:
- O consultor de índice fornece apenas recomendações
CREATE INDEX
. - O consultor de índice não é compatível com instâncias com as seguintes configurações:
- Instâncias do Cloud SQL Enterprise Edition
- Instâncias que usam tipos de máquina com núcleo compartilhado
Antes de começar
Para receber recomendações do Index Advisor, use a edição Cloud SQL Enterprise Plus e ative os insights de consultas para o Cloud SQL Enterprise Plus na sua instância do Cloud SQL.
Papéis e permissões necessárias
Para receber as permissões necessárias para acessar as recomendações do Index Advisor,
peça ao administrador para conceder a você o papel do IAM de
Leitor do Cloud SQL (roles/cloudsql.viewer
)
no projeto que hospeda a instância do Cloud SQL.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém as permissões necessárias para receber recomendações do Index Advisor. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para receber recomendações do consultor de índice:
-
databaseinsights.recommendations.query
-
databaseinsights.resourceRecommendations.query
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Ativar recomendações do consultor de índice
Ao ativar o Query Insights para o Cloud SQL Enterprise Plus, você ativa automaticamente as recomendações do consultor de índice.
Desativar recomendações do consultor de índice
Não é possível desativar as recomendações do consultor de índice sem desativar o Query Insights para a edição Cloud SQL Enterprise Plus.
Para desativar as recomendações do consultor de índice e os insights de consultas na edição Cloud SQL Enterprise Plus, consulte Desativar os insights de consultas na edição Cloud SQL Enterprise Plus.
Ver recomendações do consultor de índice
O Cloud SQL executa automaticamente a análise do consultor de índice periodicamente. Para ver as recomendações do consultor de índice, use o painel do Query Insights. Também é possível ver e consultar as recomendações do consultor de índice como uma tabela ou solicitar uma análise e um relatório sob demanda a qualquer momento.
Ver e filtrar recomendações no painel do Query insights
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Clique em Query Insights.
- As recomendações do consultor de índice são exibidas na coluna Recomendação da seção Consultas e tags mais frequentes.
- Opcional: para ver somente as consultas com recomendações
CREATE INDEX
, adicione um filtro para Recomendação: criar índices.
Ver recomendações para uma consulta
Para ver recomendações de índice para uma consulta específica, siga estas etapas:
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Clique em Query Insights.
- Na seção Consultas e tags mais frequentes, clique em Consultas.
- Para saber os detalhes da recomendação sobre uma consulta, siga um destes procedimentos:
- Clique em uma consulta para saber mais sobre as recomendações para a consulta selecionada, incluindo as seguintes informações:
- Impacto no desempenho (alto, 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 estimado adicional 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 na carga de trabalho afetadas pelas recomendações de índice. Um índice pode beneficiar várias consultas.
- Clique em Criar índices para uma consulta específica e confira recomendações detalhadas sobre como criar índices para melhorar o desempenho da consulta.
- Clique em uma consulta para saber mais sobre as recomendações para a consulta selecionada, incluindo as seguintes informações:
Ver recomendações como uma visualização em tabela de banco de dados
É possível ler os resultados na seguinte tabela localizada no banco de dados mysql
:
mysql.cloudsql_db_advisor_recommended_indexes
: lista todos os índices novos recomendados para cada banco 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 mais recente da recomendação de índice, formatados como uma tabela, execute esta consulta:
SELECT * FROM mysql.cloudsql_db_advisor_recommended_indexes;
Criar índices recomendados
É possível criar índices recomendados no painel "Insights de consulta" ou em uma visualização em tabela do banco de dados.
Criar um índice recomendado usando o painel do Query Insights
Para criar um índice recomendado usando o painel Insights de consulta, faça o seguinte:
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Clique em Query Insights.
- Na tabela Principais dimensões por carga do banco 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. - Conecte-se à instância principal na linha de comando.
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");
Criar um índice recomendado usando uma visualização em tabela de banco de dados
A coluna index
da tabela mysql.cloudsql_db_advisor_recommended_indexes
contém, em cada linha, uma instrução DDL CREATE INDEX
completa do MySQL para gerar o índice recomendado nessa linha.
Para aplicar a recomendação dessa linha, execute a instrução DDL exatamente como apresentada.
Por exemplo, considere esta saída da execução manual de uma análise, usando a consulta descrita na seção anterior:
index | estimated_storage_size_in_mb
--------------------------------------------+------------------------------
CREATE INDEX ON "School"."Students"("age") | 3
(1 row)
Esse 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 essa recomendação, insira uma consulta DDL conforme representado no relatório:
CREATE INDEX ON "School"."Students"("age");
Ver consultas afetadas
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Clique em Query Insights.
- Na tabela Principais dimensões por carga do banco de dados, clique em Consultas.
- Clique em Criar índices para uma consulta específica.
- Clique em Mostrar consultas afetadas.
- Clique em uma consulta para ver os detalhes da consulta afetada.
Configurar o consultor de índice
O consultor de índice foi projetado para funcionar na maioria dos casos de uso com as configurações padrão, mas é possível ajustar o comportamento dele definindo várias flags de banco de dados.
Por padrão, o consultor de índice é executado uma vez a cada 24 horas. É possível modificar o
horário de programação automática usando a sinalização
cloudsql_index_advisor_auto_advisor_schedule
ou executar uma análise ad-hoc em uma data/hora
específica usando a
sinalização cloudsql_index_advisor_run_at_timestamp
.
Para mais informações, consulte Flags do consultor de índice.