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 oferece suporte a instâncias com as seguintes configurações:
- Instâncias do Cloud SQL edição Enterprise
- Instâncias que usam tipos de máquina com núcleo compartilhado
Antes de começar
Para receber recomendações do consultor de índice, use o Cloud SQL edição Enterprise Plus e ative os insights de consulta para o Cloud SQL edição Enterprise Plus na instância do Cloud SQL.
Papéis e permissões necessárias
Para receber as permissões necessárias para receber recomendações do consultor de índice, peça ao administrador para conceder a você opapel 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 consultor de índice. Para acessar as permissões exatas que são 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 papéis personalizados ou outros papéis predefinidos.
Ativar recomendações do consultor de índice
Ao ativar os insights de consulta para o Cloud SQL edição Enterprise Plus, você ativa as recomendações do consultor de índice automaticamente. Para mais informações sobre os requisitos de reinicialização, consulte Ativar insights de consulta.
Desativar recomendações do consultor de índice
Não é possível desativar as recomendações do consultor de índice sem desativar os insights de consulta para o Cloud SQL edição Enterprise Plus.
Para desativar as recomendações do consultor de índice e os insights de consulta para o Cloud SQL edição Enterprise Plus, consulte Desativar insights de consulta para o Cloud SQL edição Enterprise Plus.
Ver recomendações do consultor de índice
O Cloud SQL executa a análise do consultor de índice de maneira automática e periódica. 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 Google Cloud console, 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 apenas as consultas com recomendações
CREATE INDEX, adicione um filtro para Recomendação: criar índices.
Ver recomendações para uma consulta
Para ver as recomendações de índice para uma consulta específica, siga estas etapas:
-
No Google Cloud console, 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 receber detalhes da recomendação de uma consulta, faça uma destas ações:
- Clique em uma consulta para saber mais sobre as recomendações da 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 da 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 do Query Insights ou em uma visualização em tabela de banco de dados.
Criar um índice recomendado usando o painel do Query Insights
Para criar um índice recomendado usando o painel do Query Insights, faça o seguinte:
-
No Google Cloud console, 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 INDEXsã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 Google Cloud console, 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.