Usar o consultor de índice

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 que monitora as consultas processadas pelo seu banco de dados. Periodicamente, ele analisa essas consultas para recomendar novos índices que podem aumentar o desempenho das consultas.

É possível ver e consultar as recomendações do consultor de índice como uma tabela ou solicitar uma análise e relatório sob demanda a qualquer momento.

Ativar recomendações do consultor de índice

Para ativar as recomendações do consultor de índice, adicione as flags cloudsql_index_advisor e performance_schema à instância do Cloud SQL para MySQL.

Para mais informações sobre como adicionar uma flag à instância, consulte Configurar flags do banco de dados.

Desativar recomendações do consultor de índice

Para desativar as recomendações do consultor de índice, remova as flags cloudsql_index_advisor e performance_schema da instância do Cloud SQL para MySQL. Para mais informações sobre como remover uma flag da instância, consulte Configurar flags do banco de dados.

Ver as recomendações do consultor de índice

O Cloud SQL para MySQL executa de maneira automática e periódica a análise do consultor de índice.

É 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;

Aplicar as recomendações do consultor de índice

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");

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 flag cloudsql_index_advisor_auto_advisor_schedule ou executar uma análise ad-hoc em uma data/hora específica usando a flag cloudsql_index_advisor_run_at_timestamp. Para mais informações, consulte Flags do consultor de índice.