Wenn weiterhin msdn Zitate sammeln.Dann [1], die in wiederholt wird [2].
"Logische Lese
Dieser Wert ist die Gesamtzahl der Seite zeigt Zugriffe notwendig, um die Abfrage zu verarbeiten Jede Seite wird aus dem Datencache gelesen , ob diese Seite von der Festplatte in den Cache für einen gegebenen Lesevorgang gebracht werden sollte Dieser Wert ist immer mindestens so groß und normalerweise größer als der Wert für Physical Reads. Die gleiche Seite kann mehrmals gelesen werden (z B. wenn eine Abfrage von einem Index gesteuert wird, sodass die Anzahl der logischen Lesevorgänge für eine Tabelle größer sein kann als die Anzahl der Seiten in einer Tabelle.
Physikalische Lesevorgänge
Dieser Wert gibt die Anzahl der Seiten an, die von der Festplatte gelesen wurden. Es ist immer kleiner oder gleich dem Wert von Logical Reads. Der Wert des Puffer-Cache Hit Ratio, wie Performance Monitor angezeigt wird, von der Logik berechnet Liest und Physische Lese Werte wie folgt:
Ahead lesen Reads
Der Read Liest Ahead Wert die Anzahl der Seiten angibt, Diese wurden unter Verwendung des Read-Ahead-Mechanismus in den Cache gelesen, während die Abfrage verarbeitet wurde. Diese Seiten werden nicht unbedingt von der Abfrage verwendet. Wenn eine Seite letztendlich benötigt wird, wird ein logischer Lesevorgang gezählt, ein physischer Lesevorgang jedoch nicht. Ein hoher Wert bedeutet, dass der Wert für die physikalische liest, ist wahrscheinlich geringer und die Cache-Trefferquote ist wahrscheinlich höher als ... [abgeschnitten durch vgv8]
Abtastzählung
Der Scan Zählwert gibt die Anzahl der Mal, dass auf die entsprechende Tabelle zugegriffen wurde. Äußere Tabellen eines Nested-Loop-Joins weisen eine Scan-Anzahl von 1 auf. Bei inneren Tabellen kann die Scan-Anzahl die Anzahl der "Durchläufe" sein, auf die die Tabelle zugegriffen hat. Die Anzahl der logischen Lesevorgänge wird durch die Summe der Anzahl der Suchvorgänge bestimmt, multipliziert mit der Anzahl der Seiten, auf die bei jedem Scan zugegriffen wird. Selbst für Joins mit verschachtelten Schleifen kann die Anzahl der Abfragen für die innere Tabelle jedoch als 1 angezeigt werden. SQL Server kopiert möglicherweise die erforderlichen Zeilen aus der inneren Tabelle in eine Arbeitstabelle im Cache und verwendet diese Arbeitstabelle für den Zugriff auf die tatsächlichen Datenzeilen. Wenn dieser Schritt im Plan verwendet wird, gibt es in der STATISTICS IO-Ausgabe häufig keinen Hinweis darauf. Sie müssen die Ausgabe von STATISTIC TIME sowie Informationen über den tatsächlichen Verarbeitungsplan verwenden, um die tatsächliche Arbeit bei der Ausführung einer Abfrage zu ermitteln. Bei Hash-Joins und Merge-Joins wird in der Regel der Scan-Count als 1 für beide am Join beteiligten Tabellen angezeigt. Diese Join-Typen können jedoch wesentlich mehr Speicher belegen. Sie können den memusage-Wert in Sysprocesses überprüfen, während die Abfrage ausgeführt wird, aber im Gegensatz zum Wert physical_io ist dies kein kumulativer Zähler und nur für die aktuell ausgeführte Abfrage gültig. Sobald eine Abfrage abgeschlossen ist, gibt es keine Möglichkeit, um zu sehen, wie viel Speicher verwendet es.“
[1]
Kapitel 4. Fehlerbehebung der Abfrageleistung.Abfrageleistung Überwachung
Innerhalb Microsoft® SQL Server ™ 2005 : Abfrageoptimierung und Optimierung
von Kalen Delaney
Verlag: Microsoft Press
Pub Datum: 26. September 2007
Print ISBN-10 : 0-7356-2196-9
Print ISBN-13: 978-0-7356-2196-1
Seiten: 448
[2]
Überwachung der Abfrageleistung
Optimierung der Abfrageleistung
von Ron Soukup, Kalen Delaney
Kapitel 14 von Inside Microsoft SQL Server 7.0, veröffentlicht von Microsoft Press
http://technet.microsoft.com/en-us/library/cc917719.aspx#ECAA
Sie * können * eine Scananzahl von 0 erhalten und eine Zeile zurückgeben, wenn Sie nach einem eindeutigen Index suchen. z.B. 'SET STATISTICS IO ON; SELECT * FROM [master]. [Dbo]. [Spt_values] WHERE type = 'A' AND nummer = 1 AND name = 'rpc'' Dies ist dokumentiert [hier] (http://blogs.msdn.com/b/ sqlserverfaq/archive/2010/09/14/scan-count-Bedeutung-im-Satz-Statistik-io-output.aspx) –