Esta página describe el asesor de índices de Cloud SQL para MySQL y cómo puede ver y aplicar sus recomendaciones de índice.
Cloud SQL para MySQL ofrece un asesor de índices totalmente administrado que rastrea las consultas que su base de datos procesa regularmente. El asesor analiza periódicamente estas consultas para recomendar nuevos índices que mejoren el rendimiento de las consultas. El asesor de índices le permite detectar y solucionar problemas de rendimiento en sistemas y consultas.
¿Cómo funciona el asesor de índices?
El asesor de índices le ayuda a mejorar el procesamiento de consultas haciendo lo siguiente:
- Recomiende un conjunto de índices con comandos SQL para crear índices.
- Proporciona datos para ayudarlo a evaluar los índices recomendados, por ejemplo, el tamaño de almacenamiento estimado y el impacto de los índices en una consulta.
CREATE INDEX
, que contiene el nombre de la base de datos, el nombre de la tabla y los nombres de las columnas. Las consultas rastreadas son todas consultas normalizadas sin literales.Las recomendaciones de índice están cifradas en reposo.
En Cloud SQL para MySQL, puede usar indicadores de base de datos para configurar y ajustar el asesor de índices. Para obtener más información, consulte Indicadores del asesor de índices .Limitaciones
El asesor de índices de Cloud SQL para MySQL tiene las siguientes limitaciones:
- El asesor de índices solo proporciona recomendaciones
CREATE INDEX
. - El asesor de índices no admite instancias con las siguientes configuraciones:
- Instancias de la edición Cloud SQL Enterprise
- Instancias que utilizan tipos de máquinas de núcleo compartido
Antes de empezar
Para obtener recomendaciones del asesor de índices, debe usar la edición Cloud SQL Enterprise Plus y habilitar Query Insights para la edición Cloud SQL Enterprise Plus para su instancia de Cloud SQL.
Roles y permisos necesarios
Para obtener los permisos necesarios para obtener recomendaciones del asesor de índices, solicite a su administrador que le otorgue el rol de IAM " Visor de Cloud SQL" ( roles/cloudsql.viewer
) en el proyecto que aloja la instancia de Cloud SQL. Para obtener más información sobre la concesión de roles, consulte "Administrar el acceso a proyectos, carpetas y organizaciones" .
Este rol predefinido contiene los permisos necesarios para obtener recomendaciones del asesor de índices. Para ver los permisos exactos necesarios, expanda la sección "Permisos requeridos" :
Permisos necesarios
Se requieren los siguientes permisos para obtener recomendaciones del asesor de índices:
-
databaseinsights.recommendations.query
-
databaseinsights.resourceRecommendations.query
También es posible que puedas obtener estos permisos con roles personalizados u otros roles predefinidos .
Habilitar recomendaciones del asesor de índices
Cuando habilita la información de consultas para la edición Cloud SQL Enterprise Plus , habilita automáticamente las recomendaciones del asesor de índices.
Desactivar las recomendaciones del asesor de índices
No puedes deshabilitar las recomendaciones del asesor de índice sin deshabilitar Query Insights para la edición Cloud SQL Enterprise Plus.
Para deshabilitar las recomendaciones del asesor de índices y las perspectivas de consultas para la edición Cloud SQL Enterprise Plus, consulte Deshabilitar perspectivas de consultas para la edición Cloud SQL Enterprise Plus .
Ver recomendaciones del asesor de índices
Cloud SQL ejecuta automáticamente el análisis del asesor de índices periódicamente. Para ver las recomendaciones del asesor de índices, utilice el panel de información de consultas. También puede ver y consultar las recomendaciones del asesor de índices en una tabla o solicitar un análisis e informe a demanda en cualquier momento.
Ver y filtrar recomendaciones en el panel de información de consultas
En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
- Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
- Haga clic en Información de consultas .
- Las recomendaciones del asesor de índices se muestran en la columna Recomendación de la sección Consultas y etiquetas principales .
- Opcional: para ver solo las consultas con recomendaciones
CREATE INDEX
, agregue un filtro para Recomendación: Crear índices .
Ver recomendaciones para una consulta
Para ver las recomendaciones de índice para una consulta específica, siga estos pasos:
En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
- Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
- Haga clic en Información de consultas .
- En la sección Consultas y etiquetas principales , haga clic en Consultas .
- Para obtener detalles de recomendación para una consulta, realice una de las siguientes acciones:
- Haga clic en una consulta para obtener más información sobre las recomendaciones para la consulta seleccionada, incluida la siguiente información:
- Impacto en el rendimiento (alto, medio y bajo): la velocidad de consulta estimada después de crear todos los índices recomendados.
- Recomendaciones : Crear recomendaciones de índice.
- Tablas afectadas : la cantidad de tablas que se verán afectadas cuando se creen índices.
- Almacenamiento adicional estimado necesario : el tamaño de almacenamiento estimado necesario para crear todos los índices recomendados.
- Número de consultas afectadas : El número total de consultas en la carga de trabajo afectadas por las recomendaciones del índice. Un índice puede beneficiar a varias consultas.
- Haga clic en Crear índices para una consulta específica para obtener recomendaciones detalladas sobre la creación de índices para mejorar el rendimiento de la consulta.
- Haga clic en una consulta para obtener más información sobre las recomendaciones para la consulta seleccionada, incluida la siguiente información:
Ver recomendaciones como una vista de tabla de base de datos
Puedes leer sus resultados a través de la siguiente tabla ubicada en la base de datos mysql
:
-
mysql.cloudsql_db_advisor_recommended_indexes
: enumera los nuevos índices recomendados para cada base de datos. También incluye estimaciones del almacenamiento necesario para cada índice y el número de consultas que puede afectar.
Por ejemplo, para ver los resultados del análisis de recomendación de índice más reciente, formateado como tabla, ejecute esta consulta:
SELECT * FROM mysql.cloudsql_db_advisor_recommended_indexes;
Crear índices recomendados
Puede crear índices recomendados desde el panel de información de consultas o desde una vista de tabla de base de datos.
Cree un índice recomendado utilizando el panel de información de consultas
Para crear un índice recomendado mediante el panel de información de consultas, haga lo siguiente:
En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
- Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
- Haga clic en Información de consultas .
- En la tabla Dimensiones principales por carga de base de datos , haga clic en Consultas .
- Haga clic en Crear índices para una consulta específica.
- Haga clic en "Copiar todos los comandos de índice" . Los comandos
CREATE INDEX
se copian al portapapeles. - Conéctese a la instancia principal en la línea de comando.
Para crear los índices recomendados, ejecute los comandos que se copiaron en su portapapeles, por ejemplo:
CREATE INDEX ON "public"."demo_order" ("customer_id");
Cree un índice recomendado utilizando una vista de tabla de base de datos
La columna index
de la tabla mysql.cloudsql_db_advisor_recommended_indexes
contiene, en cada fila, una declaración DDL CREATE INDEX
de MySQL completa para generar el índice recomendado en esa fila.
Para aplicar la recomendación de esa fila, ejecute esa declaración DDL exactamente como se presenta.
Por ejemplo, considere este resultado de ejecutar manualmente un análisis, utilizando la consulta descrita en la sección anterior:
index | estimated_storage_size_in_mb
--------------------------------------------+------------------------------
CREATE INDEX ON "School"."Students"("age") | 3
(1 row)
Este informe contiene una sola recomendación: añadir un índice de una sola columna a la columna age
de la tabla " Students
" del esquema de School
. Para aplicar esta recomendación, introduzca una consulta DDL como la que se muestra en el informe:
CREATE INDEX ON "School"."Students"("age");
Ver consultas impactadas
En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
- Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
- Haga clic en Información de consultas .
- En la tabla Dimensiones principales por carga de base de datos , haga clic en Consultas .
- Haga clic en Crear índices para una consulta específica.
- Haga clic en Mostrar consultas afectadas .
- Haga clic en una consulta para obtener detalles sobre la consulta afectada.
Configurar el asesor de índices
Si bien el asesor de índice está diseñado para funcionar en la mayoría de los casos de uso con su configuración predeterminada, puede ajustar su comportamiento configurando varios indicadores de base de datos.
De forma predeterminada, el asesor de índices se ejecuta cada 24 horas. Puede modificar la hora de programación automática con el indicador cloudsql_index_advisor_auto_advisor_schedule
o ejecutar un análisis ad hoc en una fecha y hora específicas con el indicador cloudsql_index_advisor_run_at_timestamp
. Para obtener más información, consulte Indicadores del asesor de índices .