Nous savons tous que les index sont importants pour optimiser les performances des requêtes dans SQL Server. Cependant, il est tout aussi important de comprendre quand ajouter un nouvel index et quand faire preuve de prudence. Dans cet article, nous discuterons de quelques lignes directrices générales pour ajouter de nouveaux index dans les systèmes OLTP.
Aucun index clusterisé
S’il n’y a pas d’index clusterisé sur une table, il est crucial d’en ajouter un. Les index clusterisés offrent plusieurs avantages et jouent un rôle important dans la récupération et le stockage des données. Bien que le choix des colonnes pour un index clusterisé puisse varier en fonction de la table, l’utilisation de dates comme index clusterisé est souvent une bonne pratique. Cependant, il est important de prendre en compte les exigences spécifiques de la table avant de prendre une décision. Bien qu’il existe quelques cas rares où l’absence d’un index clusterisé est appropriée, ils sont rares.
1-5 Indexes
Lorsque vous envisagez d’ajouter un index, il est essentiel d’évaluer son impact sur les performances. Avant d’ajouter l’index, il est recommandé d’effectuer des tests dans vos systèmes de développement ou de test pour vous assurer qu’il améliore les performances des requêtes. Cette étape permet de valider l’efficacité de l’index et d’éviter les surcharges inutiles.
5-10 Indexes
À mesure que le nombre d’index augmente, il devient crucial de faire preuve de prudence. Il est important de passer en revue les index existants et d’identifier ceux qui ne sont pas utilisés ou qui peuvent être combinés. Une fois ces étapes effectuées, l’ajout de l’index peut être une décision raisonnable. Cependant, il est important de trouver un équilibre entre le nombre d’index et leur impact sur les performances.
10+ Indexes
Lorsque le nombre d’index dépasse 10, il est important d’être plus prudent. Tout comme à l’étape précédente, il est crucial de passer en revue les index inutilisés ou sous-utilisés. Les index inutilisés sont ceux qui ont zéro lecture, tandis que les index sous-utilisés ont plus d’écritures que de lectures. La suppression de ces index peut aider à améliorer les performances et réduire les coûts de maintenance. L’ajout de nouveaux index à cette étape devrait être réservé aux requêtes importantes qui ont un impact significatif sur le système.
Identifier les index inutilisés/sous-utilisés
Pour identifier les index inutilisés ou sous-utilisés, vous pouvez utiliser la vue sys.dm_db_index_usage_stats ou des outils tels que sp_blitzindex. Ces méthodes vous permettent de comparer le nombre de lectures et d’écritures pour chaque index. Cependant, il est important de noter que les DMV (Dynamic Management Views) peuvent être réinitialisées pour diverses raisons, il est donc préférable d’analyser l’utilisation des index sur une période de temps pour garantir leur pertinence réelle.
Combinaison des index
La combinaison des index peut aider à réduire le nombre d’index et améliorer les performances. Si vous avez plusieurs index qui couvrent les mêmes colonnes ou qui ont des includes similaires, il est intéressant de se demander s’ils peuvent être combinés. Cependant, il est important de noter que l’ordre des colonnes dans un index compte et que la combinaison d’index avec des ordres de colonnes différents peut ne pas être bénéfique. De plus, la taille de l’index doit être prise en compte, car les index plus petits ont tendance à mieux fonctionner.
Identifier les requêtes importantes
Les requêtes importantes sont celles qui ont un impact significatif sur les performances du système. Ces requêtes peuvent s’exécuter fréquemment ou avoir un niveau d’importance élevé pour l’entreprise. Il est important de donner la priorité à l’ajout d’index pour ces requêtes afin d’optimiser leur temps d’exécution. Cependant, il est crucial d’évaluer le véritable bénéfice de l’ajout d’un index et d’éviter d’ajouter des index qui n’apportent aucune amélioration des performances.
La révision régulière et la maintenance des index font partie intégrante de la gestion des index. La suppression des index inutilisés ou sous-utilisés, la combinaison des index et l’évaluation périodique de leur impact sur les performances peuvent contribuer à garantir une exécution optimale des requêtes et à réduire les coûts de maintenance.
N’oubliez pas, ces lignes directrices sont des règles générales et doivent être adaptées en fonction des exigences spécifiques de chaque cas individuel. En suivant ces meilleures pratiques, vous pouvez prendre des décisions éclairées lors de l’ajout de nouveaux index dans votre environnement SQL Server.
Publié sous : Index, Microsoft SQL Server, Performance
Étiqueté : indexes, microsoft sql server, Performance