En esta página se describe Index Advisor de Cloud SQL para MySQL y se explica cómo puedes ver y aplicar sus recomendaciones de índices.
Cloud SQL para MySQL ofrece un asesor de índices totalmente gestionado que monitoriza las consultas que gestiona tu base de datos con regularidad. Periódicamente, el asesor de indexación analiza estas consultas para recomendar nuevos índices que puedan mejorar el rendimiento de las consultas. Index Advisor te permite detectar y solucionar problemas de rendimiento con sistemas y consultas.
¿Cómo funciona el asesor de índices?
El asesor de indexación te ayuda a mejorar el procesamiento de las consultas de las siguientes formas:
- Recomienda un conjunto de índices con comandos SQL para crear índices.
- Proporciona datos para ayudarte a evaluar los índices recomendados, como 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 monitorizadas
son consultas normalizadas en las que se han eliminado todos los literales.
Las recomendaciones de índices se cifran en reposo.
En Cloud SQL para MySQL, puedes usar marcas de bases de datos para configurar y optimizar el asesor de índices. Para obtener más información, consulta Indexar las marcas de asesoramiento.Limitaciones
El asesor de índices de Cloud SQL para MySQL tiene las siguientes limitaciones:
- El asesor de índices solo proporciona
CREATE INDEX
recomendaciones. - El asesor de índices no admite instancias con las siguientes configuraciones:
- Instancias de la edición Enterprise de Cloud SQL
- Instancias que usan tipos de máquinas de núcleo compartido
Antes de empezar
Para obtener recomendaciones del Asesor de índices, debes usar la edición Enterprise Plus de Cloud SQL y habilitar Información útil sobre las consultas para la edición Enterprise Plus de Cloud SQL en tu instancia de Cloud SQL.
Roles y permisos necesarios
Para obtener los permisos que necesitas para obtener recomendaciones del Asesor de índices,
pide a tu administrador que te conceda el rol de gestión de identidades y accesos
Lector 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 conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para obtener recomendaciones de Index Advisor. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para obtener recomendaciones del asesor de índices, se necesitan los siguientes permisos:
-
databaseinsights.recommendations.query
-
databaseinsights.resourceRecommendations.query
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Habilitar las recomendaciones del asesor de índices
Cuando habilitas Estadísticas de consultas en la edición Enterprise Plus de Cloud SQL, se habilitan automáticamente las recomendaciones de Asesor de índices.
Inhabilitar las recomendaciones del Asesor de índices
No puedes inhabilitar las recomendaciones del Asesor de índices sin inhabilitar Estadísticas de consultas para la edición Enterprise Plus de Cloud SQL.
Para inhabilitar las recomendaciones de Asesor de índices y la información útil sobre las consultas en la edición Enterprise Plus de Cloud SQL, consulta Inhabilitar la información útil sobre las consultas en la edición Enterprise Plus de Cloud SQL.
Ver recomendaciones de Index Advisor
Cloud SQL ejecuta automáticamente el análisis del asesor de índices periódicamente. Para ver las recomendaciones del asesor de índices, usa el panel de control Información útil sobre las consultas. También puede ver y consultar las recomendaciones del asesor de índices en forma de tabla o solicitar un análisis y un informe bajo demanda en cualquier momento.
Ver y filtrar recomendaciones en el panel de control Estadísticas de las consultas
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página Overview (Resumen) de una instancia, haz clic en su nombre.
- Haz clic en Estadísticas de las consultas.
- Las recomendaciones de Index Advisor 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
, añade un filtro de Recomendación: crear índices.
Ver recomendaciones para una consulta
Para ver las recomendaciones de índices de una consulta específica, sigue estos pasos:
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página Overview (Resumen) de una instancia, haz clic en su nombre.
- Haz clic en Estadísticas de las consultas.
- En la sección Consultas y etiquetas principales, haga clic en Consultas.
- Para obtener los detalles de las recomendaciones de una consulta, haga lo siguiente:
- Haz clic en una consulta para obtener más información sobre las recomendaciones de 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: crea recomendaciones de índices.
- Tablas afectadas: el número de tablas que se verán afectadas cuando se creen los í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 de la carga de trabajo afectadas por las recomendaciones de índices. Un índice puede beneficiar a varias consultas.
- Haz clic en Crear índices en una consulta específica para ver recomendaciones detalladas sobre cómo crear índices que mejoren el rendimiento de las consultas.
- Haz clic en una consulta para obtener más información sobre las recomendaciones de la consulta seleccionada, incluida la siguiente información:
Ver las recomendaciones como una vista de tabla de base de datos
Puedes consultar los resultados en la siguiente tabla, que se encuentra en la mysql
base de datos:
mysql.cloudsql_db_advisor_recommended_indexes
: muestra 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 cada índice.
Por ejemplo, para ver los resultados del análisis de recomendaciones de índice más reciente, con formato de tabla, ejecuta esta consulta:
SELECT * FROM mysql.cloudsql_db_advisor_recommended_indexes;
Crear índices recomendados
Puede crear índices recomendados desde el panel de control Información útil sobre las consultas o desde una vista de tabla de base de datos.
Crear un índice recomendado con el panel de control Información útil sobre las consultas
Para crear un índice recomendado con el panel de control Información útil sobre las consultas, sigue estos pasos:
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página Overview (Resumen) de una instancia, haz clic en su nombre.
- Haz clic en Estadísticas de las consultas.
- En la tabla Principales dimensiones por carga de la base de datos, haga clic en Consultas.
- Haga clic en Crear índices para una consulta específica.
- Haz clic en Copiar todos los comandos de í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 han copiado en el portapapeles. Por ejemplo:
CREATE INDEX ON "public"."demo_order" ("customer_id");
Crear 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 CREATE INDEX
DDL de MySQL completa para generar el índice recomendado en esa fila.
Para aplicar la recomendación de esa fila, ejecuta la instrucción DDL exactamente como se indica.
Por ejemplo, echa un vistazo a este resultado de un análisis ejecutado manualmente con 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 en la columna age
del esquema School
de la tabla Students
. Para aplicar este consejo, introduzca una consulta DDL como se representa en el informe:
CREATE INDEX ON "School"."Students"("age");
Ver consultas afectadas
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página Overview (Resumen) de una instancia, haz clic en su nombre.
- Haz clic en Estadísticas de las consultas.
- En la tabla Principales dimensiones por carga de la base de datos, haga clic en Consultas.
- Haz clic en Crear índices para una consulta específica.
- Haga clic en Mostrar consultas afectadas.
- Haz clic en una consulta para obtener información detallada sobre ella.
Configurar el asesor de índices
Aunque el asesor de índices se ha diseñado para que funcione en la mayoría de los casos prácticos con su configuración predeterminada, puedes ajustar su comportamiento configurando varias marcas de la base de datos.
De forma predeterminada, el asesor de índices se ejecuta una vez cada 24 horas. Puedes modificar la hora de programación automática con la marca cloudsql_index_advisor_auto_advisor_schedule
o realizar un análisis ad hoc en una fecha u hora concretas con la marca cloudsql_index_advisor_run_at_timestamp
.
Para obtener más información, consulta Indicadores de asesoramiento de indexación.