En esta página, se describe el asesor de índices de Cloud SQL para MySQL y cómo puedes ver y aplicar sus recomendaciones de índices.
Cloud SQL para MySQL ofrece un asesor de índices completamente administrado que realiza un seguimiento de las consultas que maneja tu base de datos con regularidad. El asesor de índices analiza estas consultas de forma periódica para recomendar índices nuevos que pueden mejorar el rendimiento de las consultas. El asesor de índices te permite detectar y solucionar problemas de rendimiento con los sistemas y las consultas.
¿Cómo funciona el asesor de índices?
El asesor de índices te ayuda a mejorar el procesamiento de consultas mediante las siguientes acciones:
- Recomienda un conjunto de índices con comandos de SQL para crear índices.
- Proporciona datos que te ayuden 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 a las que se les hace un seguimiento son todas las consultas normalizadas sin literales.
Las recomendaciones de índices se encriptan en reposo.
En Cloud SQL para MySQL, puedes usar marcas de base de datos a fin de configurar y ajustar el asesor de índices. Para obtener más información, consulta Marcas de asesor de índices.Limitaciones
El asesor de índices de Cloud SQL para MySQL tiene las siguientes limitaciones:
- El asesor de índices solo proporciona recomendaciones de
CREATE INDEX
. - El asesor de índices no admite instancias con las siguientes configuraciones:
- Instancias de Cloud SQL Enterprise Edition
- Instancias que usan tipos de máquinas de núcleo compartido
Antes de comenzar
Para obtener recomendaciones del asesor de índices, debes usar la edición Cloud SQL Enterprise Plus y habilitar las estadísticas de consultas para la edición Cloud SQL Enterprise Plus en tu instancia de Cloud SQL.
Roles y permisos requeridos
Para obtener los permisos que necesitas para obtener recomendaciones del asesor de índices, pídele a tu administrador que te otorgue el rol de IAM de Visualizador de Cloud SQL (roles/cloudsql.viewer
) en el proyecto que aloja la instancia de Cloud SQL.
Para obtener más información sobre cómo otorgar roles, consulta Administra 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 que son necesarios, expande 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 puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Habilita las recomendaciones del asesor de índices
Cuando habilitas las estadísticas de consultas para la edición Cloud SQL Enterprise Plus, habilitas las recomendaciones del asesor de índices automáticamente.
Inhabilita las recomendaciones del asesor de índices
No puedes inhabilitar las recomendaciones del asesor de índices sin inhabilitar las estadísticas de consultas para la edición de Cloud SQL Enterprise Plus.
Para inhabilitar las recomendaciones del asesor de índices y las estadísticas de consultas para la edición Enterprise Plus de Cloud SQL, consulta Cómo inhabilitar las estadísticas de consultas para la edición Enterprise Plus de Cloud SQL.
Consulta las recomendaciones del asesor de índices
Cloud SQL ejecuta automáticamente el análisis del asesor de índices de forma periódica. Para ver las recomendaciones del asesor de índices, usa el panel de Estadísticas de consultas. También puedes ver y consultar las recomendaciones del asesor de índices como una tabla o solicitar un análisis a pedido y un informe en cualquier momento.
Visualiza y filtra las recomendaciones en el panel de Estadísticas de consultas
-
En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- Haz clic en Estadísticas de consultas.
- Las recomendaciones del asesor de índice se muestran en la columna Recomendación de la sección Consultas y etiquetas principales.
- Opcional: Para ver solo las consultas con recomendaciones de
CREATE INDEX
, agrega un filtro para Recomendación: Crea índices.
Visualiza las recomendaciones para una consulta
Para ver las recomendaciones de índices de una consulta específica, sigue estos pasos:
-
En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- Haz clic en Estadísticas de consultas.
- En la sección Consultas y etiquetas principales, haz clic en Consultas.
- Para obtener detalles de las recomendaciones sobre una consulta, realiza una de las siguientes acciones:
- Haz clic en una consulta para obtener más información acerca de las recomendaciones para la consulta
seleccionada, incluida la siguiente información:
- Impacto en el rendimiento (alto, medio y bajo): La velocidad estimada de la consulta después de que se crean todos los índices recomendados.
- Recomendaciones: Crea recomendaciones de índices.
- Tablas afectadas: La cantidad de tablas que se verán afectadas cuando se creen los índices.
- Almacenamiento estimado adicional necesario: El tamaño de almacenamiento estimado necesario para crear todos los índices recomendados.
- Cantidad de consultas afectadas: La cantidad total de consultas en la carga de trabajo afectadas por las recomendaciones de índices. Un índice puede beneficiar a varias consultas.
- Haz clic en Crear índices para una consulta específica para obtener recomendaciones detalladas sobre la creación de índices para mejorar el rendimiento de las consultas.
- Haz clic en una consulta para obtener más información acerca de las recomendaciones para la consulta
seleccionada, incluida la siguiente información:
Cómo ver las recomendaciones como una vista de tabla de base de datos
Puedes leer sus resultados en la siguiente tabla ubicada en la base de datos mysql
:
mysql.cloudsql_db_advisor_recommended_indexes
: enumera los índices nuevos recomendados para cada base de datos. También incluye estimaciones del almacenamiento requerido para cada índice y la cantidad de consultas que puede afectar cada índice.
Por ejemplo, para ver los resultados del análisis de recomendaciones de índices más reciente, con formato de tabla, ejecuta esta consulta:
SELECT * FROM mysql.cloudsql_db_advisor_recommended_indexes;
Crea índices recomendados
Puedes crear índices recomendados desde el panel de estadísticas de consultas o desde una vista de tabla de base de datos.
Crea un índice recomendado con el panel de estadísticas de consultas
Para crear un índice recomendado con el panel de estadísticas de consultas, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- Haz clic en Estadísticas de consultas.
- En la tabla Dimensiones principales por carga de base de datos, haz clic en Consultas.
- Haz clic en Crear índices para una consulta específica.
- Haz clic en Copiar todos los comandos del índice. Los comandos
CREATE INDEX
se copian en el portapapeles. - Conéctate a la instancia principal en la línea de comandos.
Para crear los índices recomendados, ejecuta los comandos que se copiaron en el portapapeles, por ejemplo:
CREATE INDEX ON "public"."demo_order" ("customer_id");
Crea un índice recomendado con 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 instrucción DDL CREATE INDEX
completa de MySQL para generar el índice recomendado en esa fila.
Para aplicar la recomendación de esa fila, ejecuta esa sentencia DDL, exactamente como se presenta.
Por ejemplo, considera este resultado de la ejecución manual de un análisis mediante 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: agregar un índice de una sola columna en la columna age
de la tabla Students
del esquema School
. Para aplicar esta recomendación, ingresa una consulta de DDL como se representa en el informe:
CREATE INDEX ON "School"."Students"("age");
Visualiza las consultas afectadas
-
En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- Haz clic en Estadísticas de consultas.
- En la tabla Dimensiones principales por carga de base de datos, haz clic en Consultas.
- Haz clic en Crear índices para una consulta específica.
- Haz clic en Mostrar consultas afectadas.
- Haz clic en una consulta para obtener detalles sobre la consulta afectada.
Configura el asesor de índices
Si bien el asesor de índices está diseñado para funcionar en la mayoría de los casos de uso con su configuración predeterminada, puedes ajustar su comportamiento mediante la configuración de varias marcas de base de datos.
De forma predeterminada, el asesor de índices se ejecuta una vez cada 24 horas. Puedes modificar la hora de la programación automática con la marca cloudsql_index_advisor_auto_advisor_schedule
o ejecutar un análisis ad hoc en una fecha y hora específicas con la marca cloudsql_index_advisor_run_at_timestamp
.
Para obtener más información, consulta Marcas de asesor de índices.