Esta página descreve o consultor de índice do Cloud SQL para MySQL e como você pode visualizar e aplicar suas 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 das consultas. O consultor de índice permite detectar e corrigir problemas de desempenho em sistemas e consultas.
Como funciona o consultor de índice?
O consultor de índice ajuda você a melhorar o processamento de consultas fazendo o seguinte:
- Recomendar um conjunto de índices com comandos SQL para criar índices.
- Forneça dados para ajudar você a avaliar índices recomendados, por exemplo, tamanho estimado de armazenamento e impacto dos índices em uma consulta.
CREATE INDEX
contendo o nome do banco de dados, o nome da tabela e os nomes das colunas. As consultas rastreadas são todas consultas normalizadas com todos os literais removidos.As recomendações do índice são criptografadas em repouso.
No Cloud SQL para MySQL, você pode usar sinalizadores de banco de dados para configurar e ajustar o Index Advisor. Para obter mais informações, consulte Sinalizadores do Index Advisor .Limitações
O consultor de índice do Cloud SQL para MySQL tem as seguintes limitações:
- O consultor de índice fornece apenas recomendações de
CREATE INDEX
. - O consultor de índice não oferece suporte a instâncias com as seguintes configurações:
- Instâncias da edição Enterprise do Cloud SQL
- Instâncias que usam tipos de máquinas de núcleo compartilhado
Antes de começar
Para obter recomendações do consultor de índice, você deve usar a edição Cloud SQL Enterprise Plus e habilitar o query insights para a edição Cloud SQL Enterprise Plus para sua instância do Cloud SQL.
Funções e permissões necessárias
Para obter as permissões necessárias para obter recomendações do consultor de indexação, peça ao administrador para lhe conceder a função do IAM " Visualizador do Cloud SQL" ( roles/cloudsql.viewer
) no projeto que hospeda a instância do Cloud SQL. Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .
Esta função predefinida contém as permissões necessárias para obter recomendações do consultor de índice. Para ver 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 obter recomendações do consultor de índice:
-
databaseinsights.recommendations.query
-
databaseinsights.resourceRecommendations.query
Você também pode obter essas permissões com funções personalizadas ou outras funções predefinidas .
Habilitar recomendações do consultor de índice
Ao habilitar o Query Insights para o Cloud SQL Enterprise Plus Edition , você habilita as recomendações do Index Advisor automaticamente.
Desativar recomendações do consultor de índice
Não é possível desabilitar as recomendações do index advisor sem desabilitar os insights de consulta para a edição Cloud SQL Enterprise Plus.
Para desabilitar recomendações do consultor de índice e insights de consulta para a edição Cloud SQL Enterprise Plus, consulte Desabilitar insights de consulta para a edição Cloud SQL Enterprise Plus .
Ver recomendações do consultor de índice
O Cloud SQL executa automaticamente a análise do Index Advisor periodicamente. Para visualizar as recomendações do Index Advisor, use o painel de insights da consulta. Você também pode visualizar e consultar as recomendações do Index Advisor como uma tabela ou solicitar uma análise e um relatório sob demanda a qualquer momento.
Visualizar e filtrar recomendações no painel de insights da consulta
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 Insights de consulta .
- As recomendações do consultor de índice são exibidas na coluna Recomendação da seção Principais consultas e tags .
- Opcional: para visualizar apenas as consultas com recomendações
CREATE INDEX
, adicione um filtro para Recomendação: Criar Índices .
Ver recomendações para uma consulta
Para visualizar 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 Insights de consulta .
- Na seção Principais consultas e tags , clique em Consultas .
- Para obter detalhes de recomendação para 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 estimada da consulta após a criação de todos os índices recomendados.
- Recomendações : Crie recomendações de índice.
- Tabelas impactadas : o número de tabelas que serão impactadas quando os índices forem criados.
- Armazenamento estimado adicional necessário : o tamanho estimado de armazenamento necessário para criar todos os índices recomendados.
- Número de consultas impactadas : o número total de consultas na carga de trabalho impactadas pelas recomendações do índice. Um índice pode beneficiar diversas consultas.
- Clique em Criar índices para uma consulta específica para aprender 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:
Exibir recomendações como uma visualização de tabela de banco de dados
Você pode ler os resultados através da seguinte tabela localizada no banco de dados mysql
:
-
mysql.cloudsql_db_advisor_recommended_indexes
: lista todos os novos índices 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 de recomendação de índice mais recente, formatados como uma tabela, execute esta consulta:
SELECT * FROM mysql.cloudsql_db_advisor_recommended_indexes;
Criar índices recomendados
Você pode criar índices recomendados no painel de insights da consulta ou em uma exibição de tabela de banco de dados.
Crie um índice recomendado usando o painel de insights da consulta
Para criar um índice recomendado usando o painel de insights da consulta, 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 Insights de consulta .
- 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
serão copiados para a área de transferência. - Conecte-se à instância primária na linha de comando.
Para criar os índices recomendados, execute os comandos que foram copiados para a sua área de transferência, por exemplo:
CREATE INDEX ON "public"."demo_order" ("customer_id");
Crie um índice recomendado usando uma visualização de tabela de banco de dados
A coluna index
da tabela mysql.cloudsql_db_advisor_recommended_indexes
contém, em cada linha, uma instrução MySQL CREATE INDEX
DDL completa 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)
Este relatório contém uma única recomendação: adicionar um índice de coluna única na coluna age
da 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");
Exibir consultas impactadas
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 Insights de consulta .
- 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 impactadas .
- Clique em uma consulta para saber detalhes sobre a consulta impactada.
Configurar o consultor de índice
Embora o consultor de índice tenha sido projetado para funcionar na maioria dos casos de uso com suas configurações padrão, você pode ajustar seu comportamento definindo vários sinalizadores de banco de dados.
Por padrão, o Index Advisor é executado uma vez a cada 24 horas. Você pode modificar o horário do agendamento automático usando o sinalizador cloudsql_index_advisor_auto_advisor_schedule
ou executar uma análise ad hoc em uma data/hora específica usando o sinalizador cloudsql_index_advisor_run_at_timestamp
. Para obter mais informações, consulte Sinalizadores do Index Advisor .