Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Abfragen optimieren und ausführen » Ausführungspläne lesen » Grafische Pläne lesen

 

Knotenstatistiken-Feldbeschreibungen

Im Folgenden finden Sie die Beschreibungen der Felder, die im Abschnitt Knotenstatistiken eines grafischen Plans angezeigt werden.

Feld Beschreibung

CacheHits

Die Gesamtzahl von Cache-Leseanforderungen durch diesen Operator, die vom Pufferpool erfüllt wurden und keinen Festplatten-Lesezugriff für diese Seite erforderten.

CacheRead

Die Gesamtzahl der von diesem Operator vorgenommenen Versuche, um eine Seite der Datenbankdatei zu lesen, üblicherweise für Tabellen- bzw. Indexseiten.

CPUTime

Die CPU-Zeit, die durch den Verarbeitungsalgorithmus angefallen ist, der durch diesen Knoten dargestellt wird.

DiskRead

Die kumulative Anzahl der Seiten, die vom Plattenspeicher als Ergebnis der Prozessverarbeitung dieses Knotens gelesen wurden.

DiskReadTime

Die kumulativ verstrichene Zeit, die erforderlich war, um Festplatten-Lesevorgänge für die Datenbankseiten auszuführen, die von diesem Knoten für die Prozessverarbeitung benötigt wurden.

DiskWrite

Die kumulative Anzahl der Seiten, die auf den Plattenspeicher als Ergebnis der Prozessverarbeitung dieses Knotens geschrieben wurden.

DiskWriteTime

Die kumulativ verstrichene Zeit, die erforderlich war, um Festplatten-Schreibvorgänge für die Datenbankseiten auszuführen, die vom Verarbeitungsalgorithmus dieses Knotens benötigt wurden.

FirstRowRunTime

Der Wert FirstRowRunTime gibt die Zeit wieder, die tatsächlich vergangen ist, um die erste Zeile des Zwischenergebnisses von diesem Knoten zu liefern.

Invocations

Die Häufigkeit, mit der der Knoten aufgerufen wurde, um ein Ergebnis zu berechnen und dieses Ergebnis an den übergeordneten Knoten zurückzugeben. Die meisten Knoten werden nur einmal aufgerufen. Wenn allerdings das übergeordnete Objekt eines Scan-Knotens ein Nested-Loop-Join ist, wird der Knoten möglicherweise mehrfach ausgeführt und könnte nach jedem Aufruf eine unterschiedliche Zeilenmenge zurückgeben.

PercentTotalCost

Die RunTime, die zur Berechnung des Ergebnisses in diesem spezifischen Knoten aufgewendet wurde, ausgedrückt als Prozentsatz der gesamten Laufzeit für diese Anweisung.

QueryMemMaxUseful

Die geschätzte Menge an Abfragespeicher, die voraussichtlich von diesem spezifischen Operator benötigt wird. Wenn sich die tatsächliche Menge an Abfragespeicher, die in der Tatsächlich-Statistik angezeigt wird, signifikant von der geschätzten Menge unterscheidet, kann dies auf ein Problem mit der Ergebnismenge-Größenschätzung durch den Abfrageoptimierer hinweisen. Ein möglicher Grund für diesen Schätzfehler sind nicht akkurate oder fehlende Prädikat-Selektivitätsschätzungen.

RowsReturned

Die Anzahl der an den übergeordneten Knoten zurückgegebenen Zeilen als Ergebnis der Prozessverarbeitung der Anforderung. RowsReturned ist häufig, aber nicht zwingend identisch mit der Anzahl der Zeilen im (möglicherweise abgeleiteten) Objekt, das durch diesen Knoten dargestellt wird. Nehmen wir einen Blattknoten, der einen Basistabellen-Scan darstellt. Es ist möglich, dass der Wert RowsReturned kleiner oder größer als die Anzahl der Zeilen der Tabelle ist. RowsReturned ist kleiner, wenn der übergeordnete Knoten beim Berechnen des endgültigen Ergebnisses nicht alle Zeilen der Tabelle anfordert. RowsReturned kann im Fall einer GROUP BY GROUPING SETS-Abfrage größer sein, bei der der übergeordnete Knoten "Group By Hash Grouping Sets " mehrere Durchgänge in Bezug auf die Eingabe benötigt, um die verschiedenen Gruppen zu berechnen.

Ein signifikanter Unterschied zwischen den geschätzten, zurückgegebenen Zeilen und der tatsächlichen, zurückgegebenen Anzahl könnte bedeuten, dass der Optimierer mit ungeeigneten Selektivitätsinformationen arbeitet.

RunTime

Dieser Wert ist ein Uhrzeit-Messwert und umfasst Wartezeiten für Eingabe/Ausgabe, Zeilensperren, Tabellensperren, interne Datenbankserver-Kontrollmechanismen im Mehrbenutzerbetrieb und die tatsächliche Laufzeit-Prozessverarbeitung. Die Interpretation von RunTime hängt vom Statistikabschnitt ab, in dem der Wert angezeigt wird. In Knotenstatistiken ist RunTime die kumulative Zeit, die der entsprechende Operator des Knotens für das Ausführen nur dieses einen Knotens aufgewendet hat. Sowohl die geschätzten als auch die tatsächlichen Werte für diese Statistik werden im Abschnitt "Knotenstatistiken" angezeigt.

Wenn RunTime eines Knotens bei einem Table-Scan oder einem Index-Scan größer als erwartet ist, sind weitere Analysen angebracht, um das Problem zu ermitteln. Die Abfrage muss möglicherweise um gemeinsame Ressourcen konkurrieren und könnte aus diesem Grund blockiert werden. Blockierte Verbindungen können Sie mit der Systemprozedur sa_locks() überwachen . Es wäre auch möglich, dass das Datenbankseiten-Layout im Plattenspeicher suboptimal ist oder eine Tabelle eine interne Seitenfragmentierung aufweist. Sie können die Performance verbessern, indem Sie die Anweisung "REORGANIZE TABLE" ausführen. Sie können die Systemprozeduren "sa_table_fragmentation()" und "sa_index_density()" verwenden, um festzustellen, ob die Tabelle oder der Index fragmentiert ist.