Exigences : S’il existe une table contenant des dizaines de millions de données, il est nécessaire d’ajouter un index non agrégé à la table pour améliorer l’efficacité des requêtes, mais la base de données fonctionne déjà en environnement de production, et de nombreuses applications effectuent des opérations d’addition, de suppression, de modification et d’interrogation sur la table, ce qui signifie aussi que plusieurs threads effectuent des opérations sur la table. Si vous utilisez une instruction d’addition d’index normale directement sur la table, cela rendra l’exécution du programme en environnement de production anormale, comme le blocage et le délai d’exécution.
L’instruction SQL normale pour ajouter un index non clusterisé est la suivante :
L’instruction SQL optimisée en sécurité pour l’ajout d’index non clusterisés est la suivante :
Interprétation:
EN LIGNE = Rôle ON : Permet aux utilisateurs de requêtes, d’insérer, de mettre à jour et de supprimer des tables (c’est-à-dire des opérations « en ligne ») lors de la création d’index, prise en charge uniquement par l’Enterprise Edition. SORT_IN_TEMPDB = Fonction ON : Transférer les « données de tri temporaires » nécessaires à la création/reconstruction d’index de votre base de données professionnelle vers tempdb, et non dans la base de données métier sur laquelle je travaille. MAXDOP = 4 Rôle : Spécifie MAXDOP pour limiter le parallélisme afin de s’assurer qu’il n’occupe pas tous les planificateurs, c’est-à-dire pour limiter l’opération d’indice à fonctionner en parallèle avec jusqu’à 4 cœurs CPU (threads).
Référence:
La connexion hyperlientérée est visible.
La connexion hyperlientérée est visible. |