Voici le script qui vous donnera les numéros d’index non clusterisés sur n’importe quelle table de la base de données entière.
SÉLECTIONNER LE NOMBRE (i. TYPE) NoOfIndex,
= s.name , table_name = o.name
DEPUIS sys.index i
Système DE JOINTURE INTERNE.objets o SUR i. = o. Système DE JOINTURE INTERNE.schémas s SUR o. = s. OÙ o. TAPEZ ('U')
ET i. TYPE=2
GROUPEZ PAR s.name , o.nom
ORDRE PAR schema_name, table_name
Voici la petite histoire derrière la raison pour laquelle ce script était nécessaire.
Je suis récemment allé rencontrer mon ami dans son bureau et il m’a présenté à son collègue de bureau comme quelqu’un d’expert en indexation SQL Server. J’ai poliment dit que j’apprenais encore l’indexation et que j’avais un long chemin à parcourir. Le collègue de mon ami a tout de suite dit – il avait une suggestion pour moi avec lié à l’index. Selon lui, il cherchait un script qui compterait tous les non clusterisés sur toutes les tables de la base de données et il n’a pas pu le trouver sur SQLAuthority.com .
J’ai été un peu surpris car je ne me souviens vraiment pas de tous les détails de ce que j’ai écrit jusqu’à présent. Je tire rapidement mon téléphone et j’ai essayé de chercher le script sur mon moteur de recherche personnalisé et il avait raison. Je n’ai jamais écrit de script qui comptera tous les index non clusterisés sur les tables de toute la base de données. Une indexation excessive n’est généralement pas recommandée. Si vous avez trop d’index, cela affectera certainement négativement vos performances. La requête ci-dessus vous donnera rapidement des détails sur le nombre d’index sur les tables de l’ensemble de votre base de données. Vous pouvez rapidement jeter un coup d’œil et utiliser les chiffres comme référence.
Veuillez noter que le numéro de l’index n’est pas une indication de mauvais index. Il y a beaucoup de sagesse que je peux écrire ici, mais ce n’est pas la portée de cet article de blog. Il existe de nombreuses règles différentes avec des index et de nombreux scénarios différents. Par exemple – une table qui est en tas (pas d’index en cluster) n’est souvent pas recommandée sur la charge de travail OLTP (voici le billet de blog pour les identifier), supprimez les index inutilisés avec une observation attentive (voici le script pour cela), identifiez les index manquants et après des tests minutieux, ajoutez-les (voici le script pour cela). Même si j’ai donné peu de liens ici, ce n’est que la pointe de l’iceberg. Si vous ne suivez que les quatre conseils ci-dessus, votre navire risque toujours de couler. Ceux qui veulent apprendre le sujet en profondeur peuvent regarder les vidéos ici après s’être connecté.
Remarque: Vous modifiez le type de condition where en 6 pour l’index de magasin de colonnes non clustered.