SQL-Statistik io Scan Count Erklärung
Einfache Frage, aber ich habe nicht gefunden eine gute Erklärung auf google. Bei der Verwendung von Set Statistics IO AUF, der logischen lese-und scan-Zählung wird in das Fenster Nachricht von management studio. Wenn ich habe:
tblExample, scan-count-5, logische Lesevorgänge 20
Was bedeutet scan count erklären?
InformationsquelleAutor der Frage Paulj | 2009-01-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus Büchern Auf Linie
Scan count:
Anzahl der index-oder table-scans durchgeführt.
logische Lesevorgänge:
Anzahl der Seiten, die Lesen sich von den Daten-cache.
physical reads:
Anzahl der Seiten vom Datenträger gelesen.
read-ahead-liest:
Anzahl der Seiten in den cache für die Abfrage.
Siehe auch hier: http://technet.microsoft.com/en-us/library/ms184361.aspx
InformationsquelleAutor der Antwort SQLMenace
Soweit, was ein "table-scan" bedeutetdie beste die ich finden konnte ist diese:
In anderen Worten, scan-Zählung allein durch sich selbst ist nicht genug Informationen zu gehen. Sie müssen wissen, was diese scans wurden, genau-so haben Sie Blick auf die tatsächlichen Ausführungsplan für mehr detail. Bottom line, es ist nicht eine sehr nützliche Metrik von selbst!
Zusätzlich:
http://www.eggheadcafe.com/software/aspnet/32171165/set-statistics-io-scan-count-explanation.aspx
InformationsquelleAutor der Antwort Jeff Atwood
Wenn weiterhin sammeln msdn-Zitate. Dann [1] wiederholt sich in [2]:
"Logische Lesevorgänge
Dieser Wert gibt die Gesamtzahl der Seitenzugriffe benötigt, um die Abfrage zu verarbeiten. Jede Seite gelesen wird aus dem Daten-cache, ob oder nicht war es notwendig zu bringen, die Seite von der Festplatte in den cache für einen bestimmten lese -. Dieser Wert ist immer mindestens so groß und in der Regel größer als der Wert für Physische Lesevorgänge. Der gleichen Seite gelesen werden können, viele Male (wie bei einer Abfrage wird angetrieben von einem index), also die Anzahl der Logischen Lesevorgänge für eine Tabelle kann größer sein als die Anzahl der Seiten in einer Tabelle.
Physische Lesevorgänge
Dieser Wert gibt die Anzahl der Seiten, die gelesen wurden, von der Festplatte; es ist immer kleiner oder gleich dem Wert der Logischen Lesevorgänge. Der Wert der Puffer-Cache Hit Ratio, dargestellt durch die Leistung Überwachen, wird berechnet aus der Logical Reads und Physical Reads Werte wie folgt:
Read-Ahead-Liest
Die Read-Ahead-Liest Wert gibt die Anzahl der Seiten, die gelesen wurden, in den cache verwenden Sie die read-ahead-Mechanismus, während die Abfrage verarbeitet wurde. Diese Seiten sind nicht unbedingt von der Abfrage verwendet. Wenn eine Seite ist letztlich nötig, um eine logische gelesen gezählt wird, sondern ein physisches Lesen ist nicht. Ein hoher Wert bedeutet, dass der Wert für Physische Lesevorgänge ist wahrscheinlich geringer, und der cache-Treffer-Verhältnis ist wahrscheinlich höher als... [gekürzt durch vgv8]
Scan Count
Die Scan-Count-Wert gibt die Anzahl der Zeiten, die die entsprechende Tabelle zugegriffen wurde. Äußere Tabellen eines nested-loop-join eine Scan-Zählung 1. Für interne Tabellen, die Scan-Count kann die Anzahl der "Schleife", die die Tabelle zugegriffen wurde. Die Anzahl der Logischen Lesevorgänge wird ermittelt, indem die Summe der Scan-Zählung, multipliziert mit der Anzahl der aufgerufenen Seiten, die auf jedem scan. Aber auch für nested loop joins, die Scan-Anzahl für die innere Tabelle kann zeigen, wie 1. SQL Server möglicherweise kopieren Sie die benötigten Zeilen aus der inneren Tabelle in eine Arbeitstabelle im cache, und verwenden Sie diesen Arbeitstisch verwendet, um den Zugriff auf die eigentlichen Datenzeilen. Wenn dieser Schritt dient im plan, es gibt Häufig keine Hinweise in der Ausgabe von STATISTICS IO. Sie müssen verwenden Sie die Ausgabe von STATISTIK-ZEIT, sowie Informationen über die tatsächliche Verarbeitung-plan verwendet, um zu bestimmen, die tatsächliche Arbeit beteiligt bei der Ausführung einer Abfrage. Hash-Join und merge-joins in der Regel zeigen die Scan-Zählung als 1 sowohl an dem join beteiligten Tabellen, aber diese Typen von verbindungen umfassen kann wesentlich mehr Speicher. Sie können prüfen die memusage Wert in sysprocesses, während die Abfrage ausgeführt wird, aber im Gegensatz zu den physical_io Wert, dies ist nicht die kumulative Zähler und gilt nur für die aktuell ausgeführte Abfrage. Nachdem eine Abfrage abgeschlossen ist, gibt es keinen Weg, um zu sehen, wie viel Speicher Sie verwendet."
[1]
Kapitel 4. Fehlerbehebung Der Query-Performance. Überwachung Der Abfrageleistung
Inside Microsoft® SQL Server™ 2005: Query-Tuning und-Optimierung
von Kalen Delaney
Verlag: Microsoft Press
Pub Date: September 26, 2007
Print-ISBN-10: 0-7356-2196-9
Print-ISBN-13: 978-0-7356-2196-1
Seiten: 448
[2]
Überwachung Der Abfrageleistung
Optimierung Der Abfrage-Performance
Von Ron Soukup, Kalen Delaney
Kapitel 14 aus in Microsoft SQL Server 7.0, veröffentlicht von Microsoft Press
http://technet.microsoft.com/en-us/library/cc917719.aspx#ECAA
InformationsquelleAutor der Antwort Gennady Vanin Геннадий Ванин
Recht einen umfassenden überblick über diese hier.
InformationsquelleAutor der Antwort Martin Smith
Ignorieren, Scan, Count, es ist nicht wichtig. Konzentrieren sich auf, wie um den unteren Logische Lesevorgänge. Basierend auf http://www.practicalsqldba.com/2013/07/sql-server-performance-tuning.html.
InformationsquelleAutor der Antwort Irawan Soetomo