Suggestions d’index pour les requêtes lentes

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 5 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 qui peut améliorer le temps d’exécution de la requête.

    Si vous choisissez d’utiliser la suggestion d’indice et de créer l’indice, l’ISE continue d’examiner l’efficacité de cet indice au cours d’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 de non-production à des fins d’évaluation et de test.
    • Planifiez un index pour la création.
    • Surveillez l’efficacité d’un indice pendant la période d’évaluation de l’indice.
    • Tester les performances de l’index (ce test est une évaluation immédiate des performances de l’index).
    • Supprimez un index qui n’optimise pas les performances des requêtes, comme recommandé par l’ISE.
    Dans les instances nouvelles et 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 de colonne à partir 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 valeurs nulles/non nulles.

    Ensuite, l’ISE agrège et analyse les informations collectées, applique un algorithme de classement pondéré des colonnes à 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 examinez la suggestion et déterminez si vous souhaitez 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 passer en revue 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 à des fins de test ou de planifier la création de l’index. Si l’ISE génère avec succès une suggestion d’index et que vous choisissez de planifier la création de l’index, 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.
    Index 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 de l’index ou d’accepter un index, même si l’ISE recommande de l’abandonner.
    Index effectué
    Au cours de la dernière étape de traitement, l’ISE décrit l’état final de l’indice et l’activité de traitement associée. Si l’index a amélioré le temps de requête lent, l’ISE passe l’état de l’index à 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 modifie l’état de l’index en Abandonné.
    Figure 1. Cycle de vie de la suggestion d’index
    Organigramme montrant les étapes de traitement du 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 indice.

    Tableau 1. États des suggestions d’index
    État Description
    Suggestions d’index à examiner
    Suggéré ISE a généré une suggestion d’index pour la requête lente.
    Drop Suggest (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.
    Baisse suggérée : dégradation des performances ISE vous recommande de supprimer l’index, car il n’a pas amélioré le temps de requête ou détérioré les performances.
    Index en cours
    Création planifiée Vous avez planifié l’index pour la création.
    Création en cours L’ISE est en train de créer l’indice.
    É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.
    Drop Suggest (Dépôt suggéré) : non utilisé ISE vous recommande de supprimer l’index de la table pour laquelle l’index a été créé, car la base de données n’utilise pas l’index pour la requête lente.
    Baisse suggérée : dégradation des performances ISE vous recommande de supprimer l’index, car il n’a pas amélioré le temps de requête.
    Dépôt planifié Vous avez planifié la suppression de l’index de la base de données.
    Déposer dans Progress ISE supprime l’index de la base de données.
    Échec du dépôt

    L’ISE n’a pas pu faire baisser l’indice. Contactez-nous Service et assistance client pour obtenir de l’aide.

    Index effectué
    Créé 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é L’ISE a réussi à faire chuter l’indice.
    Accepté Vous avez choisi de conserver l’indice même si l’ISE a recommandé de l’abandonner.
    Remplacé Une suggestion d’index récente a remplacé l’index pour la même table et la même requête lente.