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 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.
- 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.
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é.
É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 indice.
| É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. |