Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

Risquent de diminuer les performances des requêtes SQL lorsque l'instance de base de données de SQL Server a la fragmentation d'index élevé

IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d’une traduction incorrecte du contenu ou de son utilisation par les clients.

La version anglaise de cet article est la suivante: 2755960
Résumé
Les performances des requêtes SQL peuvent diminuer si les index sont lourdement fragmentés dans l'instance de base de données de Microsoft SQL Server. Vous pouvez utiliser la fonction système sys.dm_db_index_physical_stats pour détecter la fragmentation des index pour les cas suivants :
  • Un index spécifique
  • Tous les index d'une table
  • Tous les index d'une vue indexée
  • Tous les index d'une base de données
  • Tous les index de toutes les bases de données
Pour déterminer la fragmentation est supérieure à 30 pour cent, exécutez le script de requête SQL suivant :

SELECT OBJECT_NAME(i.OBJECT_ID) AS TableName, OBJECT_NAME(i.OBJECT_ID) AS TableName, i.name AS IndexName,i.name AS IndexName, indexstats.avg_fragmentation_in_percent FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'DETAILED') indexstats INNER JOIN sys.indexes i ON i.OBJECT_ID = indexstats.OBJECT_ID WHERE indexstats.avg_fragmentation_in_percent > 30 AND i.index_id = indexstats.index_id
Pour déterminer la meilleure méthode pour corriger la fragmentation, reportez-vous aux instructions suivantes :
  • Utilisez le ALTER INDEX REBUILD avec des (ONLINE = ON) * commande pour les objets dont pourcentage de fragmentation moyenne est supérieure à 30 pour cent.
  • Utilisez la commande ALTER INDEX REORGANIZE pour les objets dont pourcentage de fragmentation moyenne est entre 5 et 30 %.

valeur avg_fragmentation_in_percentInstruction corrective
> 5 % et< ==""> ALTER INDEX REORGANIZE
> 30 %ALTER INDEX REBUILD AVEC (ONLINE = ON) *
Notes:
  • Ces valeurs fournissent une indication approximative pour déterminer le point auquel vous devez basculer entre ALTER INDEX REORGANIZE et ALTER INDEX REBUILD. Toutefois, les valeurs réelles peuvent varier d'un cas à l'autre. Vous devez faire des essais afin de déterminer le meilleur seuil pour votre environnement.
  • Les très faibles niveaux de fragmentation (moins de 5 %) ne doivent pas être adressées par une de ces commandes. Le bénéfice de supprimer une petite quantité de fragmentation est généralement largement compensé par le coût de la réorganisation ou la reconstruction des index.

Plus d'informations
Pour plus d'informations sur la façon de réorganiser et de reconstruire les index, consultez le site Web Microsoft suivant :
Le tableau suivant fournit plus d'informations sur les produits ou les outils automatiquement vérifier cette condition sur votre instance de SQL Server et sur les versions du produit SQL Server par rapport à laquelle la règle est évaluée.
Logiciel de règlesTitre de la règleDescription de la règleVersions du produit par rapport à laquelle la règle est évaluée.
System Center AdvisorFragmentations élevées de SQL Server peuvent procéder au déclassement les performances des requêtesSystem Center Advisor vérifie la fragmentation logique à l'aide de la avg_fragmentation_in_percent valeur dans Sys.dm_db_index_physical_stats pour chaque index d'instance de base de données de SQL Server. Si la fragmentation de l'index ou le segment moyenne est supérieure à cinq pour cent, cette alerte est générée. Suivez les instructions de cet article pour résoudre les problèmes liés aux fragmentations index élevé.SQL Server 2008

SQL Server 2008 R2

SQL Server 2012

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 2755960 - Dernière mise à jour : 05/04/2015 00:04:00 - Révision : 2.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Web

  • kbsurveynew kbhowto kbexpertiseadvanced kbmt KB2755960 KbMtfr
Commentaires