Cette page décrit le conseiller d'index Cloud SQL pour MySQL et explique comment afficher et appliquer ses recommandations d'index.
Cloud SQL pour MySQL propose un conseiller d'index entiĂšrement gĂ©rĂ© qui suit rĂ©guliĂšrement les requĂȘtes traitĂ©es par votre base de donnĂ©es. Le conseiller d'index analyse rĂ©guliĂšrement ces requĂȘtes pour recommander de nouveaux index susceptibles d'en amĂ©liorer les performances. L'outil Index Advisor vous permet de dĂ©tecter et de rĂ©soudre les problĂšmes de performances des systĂšmes et des requĂȘtes.
Comment fonctionne le conseiller d'index ?
Le conseiller d'index vous aide Ă amĂ©liorer le traitement des requĂȘtes en :
- recommandant un ensemble d'index à l'aide de commandes SQL permettant de créer des index.
- fournissant des donnĂ©es pour vous aider Ă Ă©valuer les index recommandĂ©s, par exemple la taille de stockage estimĂ©e et l'impact des index sur une requĂȘte.
CREATE INDEX contenant le nom de la base de donnĂ©es, le nom de la table et les noms des colonnes. Les requĂȘtes suivies sont toutes des requĂȘtes normalisĂ©es dont tous les littĂ©raux ont Ă©tĂ© supprimĂ©s.
Les recommandations d'index sont chiffrées au repos.
Dans Cloud SQL pour MySQL, vous pouvez utiliser des options de base de données pour configurer et régler le conseiller d'index. Pour en savoir plus, consultez Options du conseiller d'index.Limites
Le conseiller d'index Cloud SQL pour MySQL présente les limites suivantes:
- Le conseiller d'index ne fournit que des recommandations
CREATE INDEX. - Le conseiller d'index n'est pas compatible avec les instances présentant les configurations suivantes :
- Instances Cloud SQL Enterprise
- Instances qui utilisent des types de machines Ă cĆur partagĂ©
Avant de commencer
Pour obtenir des recommandations de l'outil de conseil sur les index, vous devez utiliser l'Ă©dition Cloud SQL Enterprise Plus et activer les insights sur les requĂȘtes pour l'Ă©dition Cloud SQL Enterprise Plus pour votre instance Cloud SQL.
RÎles et autorisations nécessaires
Pour obtenir les autorisations nécessaires pour obtenir des recommandations de l'outil de conseil sur les index, demandez à votre administrateur de vous attribuer le rÎle IAM Lecteur Cloud SQL (roles/cloudsql.viewer) sur le projet qui héberge l'instance Cloud SQL.
Pour en savoir plus sur l'attribution de rÎles, consultez Gérer l'accÚs aux projets, aux dossiers et aux organisations.
Ce rÎle prédéfini contient les autorisations requises pour obtenir des recommandations de l'outil Index Advisor. Pour connaßtre les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour obtenir des recommandations de l'outil de conseil sur les index :
-
databaseinsights.recommendations.query -
databaseinsights.resourceRecommendations.query
Vous pouvez également obtenir ces autorisations avec des rÎles personnalisés ou d'autres rÎles prédéfinis.
Activer les recommandations du conseiller d'index
Lorsque vous activez les insights sur les requĂȘtes pour l'Ă©dition Cloud SQL Enterprise Plus, vous activez automatiquement les recommandations du conseiller d'index.
Désactiver les recommandations du conseiller d'index
Vous ne pouvez pas dĂ©sactiver les recommandations du conseiller d'index sans dĂ©sactiver les insights sur les requĂȘtes pour l'Ă©dition Cloud SQL Enterprise Plus.
Pour dĂ©sactiver les recommandations du conseiller d'index et les insights sur les requĂȘtes pour l'Ă©dition Cloud SQL Enterprise Plus, consultez DĂ©sactiver les insights sur les requĂȘtes pour l'Ă©dition Cloud SQL Enterprise Plus.
Afficher les recommandations du conseiller d'index
Cloud SQL exĂ©cute automatiquement et rĂ©guliĂšrement l'analyse du conseiller d'index. Pour afficher les recommandations du conseiller d'index, utilisez le tableau de bord "Insights sur les requĂȘtes". Vous pouvez Ă©galement afficher et interroger les recommandations du conseiller d'index sous forme de tableau, ou demander une analyse et un rapport Ă la demande Ă tout moment.
Afficher et filtrer les recommandations dans le tableau de bord "Insights sur les requĂȘtes"
-
Dans la console Google Cloud , accédez à la page Instances Cloud SQL.
- Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
- Cliquez sur Insights sur les requĂȘtes.
- Les recommandations du conseiller d'index sont affichĂ©es dans la colonne Recommandation de la section RequĂȘtes et tags les plus frĂ©quents.
- Facultatif : Pour n'afficher que les requĂȘtes avec des recommandations
CREATE INDEX, ajoutez un filtre pour le champ Recommandation : Créer des index.
Afficher les recommandations pour une requĂȘte
Pour afficher les recommandations d'index pour une requĂȘte spĂ©cifique, procĂ©dez comme suit :
-
Dans la console Google Cloud , accédez à la page Instances Cloud SQL.
- Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
- Cliquez sur Insights sur les requĂȘtes.
- Dans la section RequĂȘtes et tags les plus frĂ©quents, cliquez sur RequĂȘtes.
- Pour obtenir les dĂ©tails d'une recommandation sur une requĂȘte, effectuez l'une des opĂ©rations suivantes :
- Cliquez sur une requĂȘte pour en savoir plus sur les recommandations de la requĂȘte sĂ©lectionnĂ©e, y compris les informations suivantes :
- Impact sur les performances (Ă©levĂ©, moyen et faible): estimation de la vitesse de requĂȘte aprĂšs la crĂ©ation de tous les index recommandĂ©s.
- Recommandations: permet de créer des recommandations d'index.
- Tables concernées : nombre de tables qui seront concernées lorsque des index seront créés.
- Espace de stockage supplémentaire estimé nécessaire: taille d'espace de stockage estimée nécessaire pour créer tous les index recommandés.
- Nombre de requĂȘtes concernĂ©es : nombre total de requĂȘtes de la charge de travail concernĂ©es par les recommandations d'index. Un index peut bĂ©nĂ©ficier de plusieurs requĂȘtes.
- Cliquez sur CrĂ©er des index pour une requĂȘte spĂ©cifique afin d'obtenir des recommandations dĂ©taillĂ©es sur la crĂ©ation d'index afin d'amĂ©liorer les performances des requĂȘtes.
- Cliquez sur une requĂȘte pour en savoir plus sur les recommandations de la requĂȘte sĂ©lectionnĂ©e, y compris les informations suivantes :
Afficher les recommandations sous forme de vue Tableau de base de données
Vous pouvez lire ses résultats dans le tableau suivant, situé dans la base de données mysql :
mysql.cloudsql_db_advisor_recommended_indexes: rĂ©pertorie les nouveaux index recommandĂ©s pour chaque base de donnĂ©es. Il comprend Ă©galement des estimations de l'espace de stockage requis pour chaque index et du nombre de requĂȘtes que chaque index peut affecter.
Par exemple, pour afficher les rĂ©sultats de l'analyse des recommandations d'index la plus rĂ©cente, au format tableau, exĂ©cutez la requĂȘte suivante :
SELECT * FROM mysql.cloudsql_db_advisor_recommended_indexes;
Créer des index recommandés
Vous pouvez crĂ©er des index recommandĂ©s Ă partir du tableau de bord "Insights sur les requĂȘtes" ou d'une vue Tableau de base de donnĂ©es.
CrĂ©er un index recommandĂ© Ă l'aide du tableau de bord "Insights sur les requĂȘtes"
Pour crĂ©er un index recommandĂ© Ă l'aide du tableau de bord "Insights sur les requĂȘtes", procĂ©dez comme suit :
-
Dans la console Google Cloud , accédez à la page Instances Cloud SQL.
- Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
- Cliquez sur Insights sur les requĂȘtes.
- Dans le tableau Dimensions principales par charge de la base de donnĂ©es, cliquez sur RequĂȘtes.
- Cliquez sur CrĂ©er des index pour une requĂȘte spĂ©cifique.
- Cliquez sur Copier toutes les commandes d'index. Les commandes
CREATE INDEXsont copiées dans le presse-papiers. - Connectez-vous à l'instance principale sur la ligne de commande.
Pour créer les index recommandés, exécutez les commandes qui ont été copiées dans votre presse-papiers, par exemple :
CREATE INDEX ON "public"."demo_order" ("customer_id");
Créer un index recommandé à l'aide d'une vue Tableau de base de données
La colonne index de la table mysql.cloudsql_db_advisor_recommended_indexes contient, dans chaque ligne, une instruction CREATE INDEX LDD MySQL complÚte permettant de générer l'index recommandé dans cette ligne.
Pour appliquer la recommandation de cette ligne, exécutez l'instruction LDD exactement telle qu'elle est présentée.
Par exemple, considĂ©rons ce rĂ©sultat de l'exĂ©cution manuelle d'une analyse Ă l'aide de la requĂȘte dĂ©crite dans la section prĂ©cĂ©dente :
index | estimated_storage_size_in_mb
--------------------------------------------+------------------------------
CREATE INDEX ON "School"."Students"("age") | 3
(1 row)
Ce rapport contient une seule recommandation : ajouter un index Ă une seule colonne sur la colonne age dans la table Students du schĂ©ma School. Pour appliquer ce conseil, saisissez une requĂȘte LDD comme indiquĂ© dans le rapport :
CREATE INDEX ON "School"."Students"("age");
Afficher les requĂȘtes concernĂ©es
-
Dans la console Google Cloud , accédez à la page Instances Cloud SQL.
- Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
- Cliquez sur Insights sur les requĂȘtes.
- Dans le tableau Dimensions principales par charge de la base de donnĂ©es, cliquez sur RequĂȘtes.
- Cliquez sur CrĂ©er des index pour une requĂȘte spĂ©cifique.
- Cliquez sur Afficher les requĂȘtes concernĂ©es.
- Cliquez sur une requĂȘte pour en savoir plus sur celle-ci.
Configurer le conseiller d'index
Bien que le conseiller d'index soit conçu pour fonctionner dans la plupart des cas d'utilisation avec ses paramÚtres par défaut, vous pouvez affiner son comportement en définissant différents indicateurs de base de données.
Par défaut, le conseiller d'index s'exécute une fois toutes les 24 heures. Vous pouvez modifier l'heure de la programmation automatique à l'aide de l'option cloudsql_index_advisor_auto_advisor_schedule ou exécuter une analyse ad hoc sur une date et une heure spécifiques à l'aide de l'option cloudsql_index_advisor_run_at_timestamp.
Pour en savoir plus, consultez Indicateurs du conseiller d'index.