Utiliser le conseiller d'index

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.
L'outil de conseil sur les index stocke et affiche la commande 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"

  1. Dans la console Cloud de Confiance , accĂ©dez Ă  la page Instances Cloud SQL.

    AccĂ©der Ă  la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Cliquez sur Insights sur les requĂȘtes.
  4. Les recommandations du conseiller d'index sont affichĂ©es dans la colonne Recommandation de la section RequĂȘtes et tags les plus frĂ©quents.
  5. 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 :

  1. Dans la console Cloud de Confiance , accĂ©dez Ă  la page Instances Cloud SQL.

    AccĂ©der Ă  la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Cliquez sur Insights sur les requĂȘtes.
  4. Dans la section RequĂȘtes et tags les plus frĂ©quents, cliquez sur RequĂȘtes.
  5. 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.

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.

Pour crĂ©er un index recommandĂ© Ă  l'aide du tableau de bord "Insights sur les requĂȘtes", procĂ©dez comme suit :

  1. Dans la console Cloud de Confiance , accĂ©dez Ă  la page Instances Cloud SQL.

    AccĂ©der Ă  la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Cliquez sur Insights sur les requĂȘtes.
  4. Dans le tableau Dimensions principales par charge de la base de donnĂ©es, cliquez sur RequĂȘtes.
  5. Cliquez sur CrĂ©er des index pour une requĂȘte spĂ©cifique.
  6. Cliquez sur Copier toutes les commandes d'index. Les commandes CREATE INDEX sont copiées dans le presse-papiers.
  7. Connectez-vous Ă  l'instance principale sur la ligne de commande.
  8. 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");

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

  1. Dans la console Cloud de Confiance , accĂ©dez Ă  la page Instances Cloud SQL.

    AccĂ©der Ă  la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Cliquez sur Insights sur les requĂȘtes.
  4. Dans le tableau Dimensions principales par charge de la base de donnĂ©es, cliquez sur RequĂȘtes.
  5. Cliquez sur CrĂ©er des index pour une requĂȘte spĂ©cifique.
  6. Cliquez sur Afficher les requĂȘtes concernĂ©es.
  7. 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.

Étapes suivantes