Suggestions d’index pour les requêtes lentes

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 4 minutes de lecture
  • Le moteur de suggestion d’index (ISE) peut générer une suggestion d’index pour une requête lente sélectionnée. Lorsque vous demandez une suggestion d’index pour une requête lente, l’ISE analyse la requête et recommande un index susceptible d’améliorer le temps d’exécution de la requête.

    Si vous choisissez d’utiliser la suggestion d’index et de créer l’index, l’ISE continue d’examiner l’efficacité de cet index pendant une période d’évaluation de 14 jours. L’ISE fournit des détails sur l’indice au cours de l’évaluation, y compris des recommandations pour la gestion de l’indice.

    Les administrateurs utilisent l’ISE pour :
    • Générez une suggestion d’index pour une requête lente.
    • Passez en revue les suggestions d’index pour les requêtes lentes dans votre instance.
    • Exportez une suggestion d’index vers une instance non-productive à des fins d’évaluation et de test.
    • Planifiez un index pour la création.
    • Surveillez l’efficacité d’un index pendant la période d’évaluation de l’index.
    • Testez les performances de l’index (ce test est une évaluation immédiate des performances de l’index).
    • Déposez un index qui n’optimise pas les performances des requêtes, comme recommandé par l’ISE.
    Dans les instances nouvelles ou mises à niveau, le module d’extension Index Suggestion Engine (com.glide.index_suggestion) est activé par défaut.
    Remarque :
    L’ISE ne prend en charge que les bases de données MySQL.

    Fonctionnement des suggestions d’index

    Vous commencez le processus de suggestion d’index en demandant une suggestion d’index pour une requête lente sélectionnée. L’ISE exécute une tâche quotidienne qui collecte les statistiques des colonnes des tables de la requête lente, en collectant des données telles que la cardinalité (colonnes uniques dans une table) et le nombre de null/not null.

    Ensuite, l’ISE agrège et analyse les informations collectées, applique un algorithme de classement de colonne pondéré à la requête lente et génère une suggestion d’index pour la requête.

    Une fois qu’une suggestion d’index est générée, vous l’examinez et déterminez s’il convient de créer l’index pour la requête lente. Lorsque vous créez l’index, l’ISE fournit des informations sur l’index tout au long de son cycle de vie. Vous pouvez suivre la suggestion d’index à travers trois étapes de traitement principales :

    Suggestions d’index à examiner
    Au cours de cette étape initiale, vous pouvez examiner les suggestions d’index générées par l’ISE pour vos requêtes lentes. Vous pouvez choisir d’ignorer une suggestion, d’exporter la suggestion d’index vers une instance de non-production pour des tests supplémentaires ou de planifier l’index pour la création. Si l’ISE génère avec succès une suggestion d’index et que vous choisissez de planifier l’index pour la création, la suggestion d’index passe à l’étape de traitement suivante. Toutefois, si la base de données ne peut pas utiliser la suggestion ou si la suggestion dégrade les performances de la requête, l’ISE vous recommande d’abandonner la suggestion d’index.
    Indexation en cours
    À ce stade, l’ISE crée l’indice et la période d’évaluation de 14 jours commence. L’ISE effectue une évaluation horaire pour déterminer si l’index améliore ou dégrade le temps d’exécution de la requête. L’ISE met à jour l’état de l’index, y compris les actions recommandées que vous pouvez effectuer. Par exemple, si l’index n’améliore pas les performances de la requête lente, l’ISE vous conseille de supprimer l’index. Vous pouvez ensuite planifier la suppression de l’index de la base de données. Au cours de cette étape, vous pouvez également choisir de tester les performances d’index ou d’accepter un index, même si l’ISE recommande de l’abandonner.
    Index terminé
    À la dernière étape du traitement, l’ISE décrit l’état final de l’indice et l’activité de traitement connexe. Si l’index a amélioré le temps de requête lent, l’ISE change l’état de l’index en Créé et la base de données continue d’utiliser l’index. Si l’index n’a pas amélioré le temps de requête et que vous avez choisi de supprimer l’index, l’ISE supprime l’index de la base de données et change l’état de l’index en Abandonné.
    Figure 1. Cycle de vie de suggestion d’index
    Organigramme qui affiche les étapes de traitement dans le cycle de vie de la suggestion d’index

    États de traitement des suggestions d’index

    La table Suggestions d’index [sys_index_suggestion] fournit des informations sur l’état de vos index à mesure qu’ils passent par les trois principales étapes de traitement :
    • Suggestions d’index > à examiner
    • Suggestions d'index > En cours
    • Suggestions d'index > Terminé

    L’ISE utilise les états suivants pour décrire l’activité de traitement d’un index.

    Tableau 1. États de la suggestion d’index
    État Description
    Suggestions d’index à examiner
    Suggéré ISE a généré une suggestion d’index pour la requête lente.
    Dépôt suggéré : non utilisé ISE vous recommande de supprimer l’index, car la base de données n’utilise pas l’index pour la requête lente.
    Dépôt suggéré : dégradation des performances L’ISE vous recommande de supprimer l’index, car il n’a pas amélioré le temps de requête ou aggravé les performances.
    Indexation en cours
    Création planifiée Vous avez planifié la création de l’index.
    Création en cours ISE est en train de créer l’index.
    Échec de la création ISE n’a pas pu créer l’index.
    Évaluation de l'efficacité L’ISE a créé l’indice et évalue la performance de l’indice au cours de la période d’évaluation de l’indice de 14 jours.
    Dépôt suggéré : non utilisé ISE vous recommande de supprimer l’index de la table pour laquelle il a été créé, car la base de données n’utilise pas l’index pour la requête lente.
    Dépôt suggéré : dégradation des performances L’ISE vous recommande de supprimer l’index, car il n’a pas amélioré le temps de la requête.
    Dépôt planifié Vous avez planifié la suppression de l’index de la base de données.
    Dépôt dans Progress ISE supprime l’index de la base de données.
    Échec du dépôt

    ISE n’a pas pu supprimer l’index. Contactez Service et assistance client pour obtenir de l’aide.

    Index terminé
    Créées Après la période d’évaluation de 14 jours, l’ISE a déterminé que l’index améliorait les performances des requêtes. Indique que la base de données continue d’utiliser l’index.
    Ignoré Vous avez choisi d’ignorer la suggestion d’index.
    Déposé ISE a réussi à supprimer l’index.
    Accepté Vous avez choisi de conserver l’index même si l’ISE recommandait de le supprimer.
    Remplacé Une suggestion d’index récente a remplacé l’index pour la même table et la même requête lente.