Suggestions d’index pour les requêtes lentes
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’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.
- Générez une suggestion d’index pour une requête lente.
- Examinez 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’index.
- 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 de la requête, comme recommandé par l’ISE.
Fonctionnement des suggestions d’index
Vous démarrez 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 des statistiques de colonnes à 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 nul/non nul.
Ensuite, l’ISE agrège et analyse les informations recueillies, 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’indice au fur et à mesure 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 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 toutes les heures 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 indice, même si l’ISE recommande de l’abandonner.
- Index terminé
- Au cours de la dernière étape de traitement, l’ISE décrit l’état final de l’indice et de l’activité de traitement qui y est associée. 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 modifie l’état de l’index en Abandonné.
États de traitement des suggestions d’index
- 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.
| É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. |
| 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é la création de l’index. |
| 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 14 jours. |
| 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 | L’ISE supprime l’index de la base de données. |
| Échec du dépôt | ISE n’a pas pu abandonner l’index. Contactez-nous Service et assistance client pour obtenir de l’aide. |
| Index terminé | |
| Créé | À l’issue de 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 a recommandé 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. |