SQL Abfrage möglicherweise Leistungseinbußen beim SQL Server-Datenbankinstanz hohe Indexfragmentierung hat

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 2755960 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Zusammenfassung

SQL Abfrage-Leistung kann sich verringern, wenn die Indizes in der Microsoft SQL Server-Datenbankinstanz stark fragmentiert sind. Die Systemfunktion Sys. dm_db_index_physical_stats können Sie erkennen die Indexfragmentierung für folgende Fälle:
  • Einem bestimmten index
  • Alle Indizes einer Tabelle
  • Alle Indizes für eine indizierte Sicht
  • Alle Indizes in einer Datenbank
  • Alle Indizes in allen Datenbanken
Die Fragmentierung zu ermitteln, die größer als 30 Prozent ist, führen Sie das folgende Skript des SQL-Abfrage verwendet:

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
Um zu bestimmen, die beste Methode, um die Fragmentierung zu beheben, finden Sie in den folgenden Richtlinien:
  • Verwenden der ALTER INDEX neu erstellen mit (ONLINE = ON) * -Befehl für die Objekte, deren durchschnittliche Fragmentierung in Prozent mehr als 30 Prozent ist.
  • Verwenden Sie den Befehl ALTER INDEX REORGANIZE , für die Objekte, deren durchschnittliche Fragmentierung in Prozent zwischen 5 bis 30 Prozent liegt.

Tabelle minimierenTabelle vergrößern
Avg_fragmentation_in_percent WertRichtigstellung
> 5 % und< ==""> ALTER INDEX REORGANIZE
> 30 %INDEXNEUERSTELLUNG MIT ALTER (ONLINE = ON) *
Notizen:
  • Diese Werte bieten eine grobe Richtlinie für die Bestimmung des Punktes, an dem Sie zwischen ALTER INDEX REORGANIZE und ALTER INDEX REBUILDwechseln soll. Die tatsächlichen Werte können jedoch von Fall zu Fall variieren. Sie müssen experimentieren, um zu bestimmen, den optimale Schwellenwert für Ihre Umgebung.
  • Sehr niedriges Niveau der Fragmentierung (weniger als 5 %) sollten diese Befehle nicht angesprochen werden. Dies ist, da die Vorteile des Entfernens einer kleinen Menge der Fragmentierung in der Regel erheblich die Kosten für das Neuorganisieren und Neuerstellen von Indizes aufgewogen wird.

Weitere Informationen

Weitere Informationen zum Neuorganisieren und die Indizes neu zu erstellen finden Sie auf der folgenden Microsoft-Website:
Informationen zum Neuorganisieren und Indizes neu erstellen

Die folgende Tabelle enthält weitere Informationen zu den Produkten und Tools, die automatisch prüfen, ob diese Bedingung auf die Instanz von SQL Server und unter den Versionen des Produkts SQL Server für den die Regel ausgewertet wird.
Tabelle minimierenTabelle vergrößern
Regel-SoftwareRegel-TitelRegelbeschreibungProduktversionen, die die Regel ausgewertet wird
System Center AdvisorHohe SQL Server-dreiklangszerlegungen möglicherweise Abfrageleistung heruntergestuft.System Center-Berater prüft die logische Fragmentierung mithilfe der avg_fragmentation_in_percent Wert in Sys. dm_db_index_physical_stats für jeden Index der SQL Server Datenbank-Instanz. Wenn die durchschnittliche Fragmentierung für den Index oder den Heap über fünf Prozent liegt, wird diese Warnung generiert. Befolgen Sie die Anweisungen aus diesem Artikel die Probleme behoben, die auf den hohen dreiklangszerlegungen beziehen.SQL Server 2008

SQL Server 2008 R2

SQL Server 2012

Eigenschaften

Artikel-ID: 2755960 - Geändert am: Donnerstag, 27. September 2012 - Version: 1.0
Die Informationen in diesem Artikel beziehen sich auf:
Keywords: 
kbsurveynew kbhowto kbexpertiseadvanced kbmt KB2755960 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 2755960
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com