Die Tabelle sa_diagnostic_query gehört dem dbo-Benutzer und speichert Optimierungsinformationen für Abfragen, besonders den Kontext, in dem sie optimiert wurden. Eine Zeile in dieser Tabelle stellt einen Aufruf des Optimierers für eine Abfrage dar. Zur Optimierungszeit aufgezeichnete Pläne werden hier gespeichert.
Manche der Werte in dieser Tabelle spiegeln Datenbankoptionswerte.
Es gibt zwei Versionen dieser Tabelle: sa_diagnostic_query und sa_tmp_diagnostic_query.
Spaltenname | Spaltentyp | Beschreibung |
---|---|---|
logging_session_id | UNSIGNED INT | Die ID der Protokollierungssitzung, während der die Abfrage oder die Anforderung aufgetreten ist |
query_id | UNSIGNED BIGINT | Eine Nummer, die die Abfrage eindeutig kennzeichnet |
statement_id | UNSIGNED BIGINT | Eine Nummer, die eine Anweisung in der Abfrage eindeutig kennzeichnet |
user_object_id | UNSIGNED BIGINT | Die Objekt-ID des Benutzers, unter dem diese Abfrage ausgeführt wurde. Wenn die Abfrage von einer Prozedur ausgeführt wurde, ist dies die Benutzer-ID des Prozedureigentümers. |
start_time | TIMESTAMP | Die Uhrzeit, zu der diese Abfrage optimiert wurde |
cache_size_bytes | UNSIGNED BIGINT | Die Größe, in Byte, des Caches zum Zeitpunkt, als diese Abfrage optimiert wurde |
optimization_goal | TINYINT |
Legt fest, ob die Abfrageverarbeitung dahingehend optimiert wird, die erste Zeile schnell zurückzugeben, oder ob die Kosten für die Ausgabe der vollständigen Ergebnismenge minimiert werden sollen. Dieser Wert gibt den Wert der optimization_goal-Datenbankoption wieder. |
optimization_level | TINYINT |
Steuert den Aufwand, den der SQL Anywhere-Abfrageoptimierer betreibt, um einen Zugriffsplan für eine SQL-Anweisung zu finden. Dieser Wert gibt den Wert der optimization_level-Datenbankoption wieder. |
user_estimates | TINYINT |
Steuert, ob Benutzer-Selektivitätseinschätzungen in Abfrageprädikaten vom Abfrageoptimierer respektiert oder ignoriert werden. Dieser Wert gibt den Wert der user_estimates-Datenbankoption wieder. |
optimization_workload | TINYINT |
Legt fest, ob die Abfrageverarbeitung für eine Arbeitslast optimiert wird, die aus einer Mischung von Aktualisierungen und Lesevorgängen besteht, oder für eine Arbeitslast, die hauptsächlich auf Lesevorgängen basiert. Dieser Wert gibt den Wert der optimization_workload-Datenbankoption wieder. |
available_requests | TINYINT | Wird intern zur Berechnung der Stufe der abfrageinternen Parallelität verwendet |
active_requests | TINYINT | Wird intern zur Berechnung der Stufe der abfrageinternen Parallelität verwendet |
max_tasks | TINYINT | Wird intern zur Berechnung der Stufe der abfrageinternen Parallelität verwendet |
used_bypass | TINYINT | Ob ein einfacher Abfragen-Bypass verwendet wurde. Ein Wert von "1" zeigt an, dass ein Bypass verwendet wurde. Ein Wert von "0" zeigt an, dass die Abfrage voll optimiert wurde. |
estimated_cost_ms | TINYINT | Die geschätzten Kosten, in Millisekunden |
plan_explain | LONG VARCHAR | Eine Textplandarstellung dieser Abfrage |
plan_xml | LONG VARCHAR | Eine Darstellung dieser Abfrage als grafischer Plan (falls einer aufgezeichnet wurde) |
sql_rewritten | LONG VARCHAR | Text einer Abfrage, nachdem Optimierungen angewendet wurden. In dieser Spalte wird nur ein Wert angezeigt, wenn die Optimierungsprotokollierung aktiviert ist. |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |