Es gibt eine Reihe von Dingen, die Sie wissen müssen, wenn Sie die Überwachungstabellen verwenden:
- Die Überwachungstabellen (wie
MON$STATEMENTS
) enthalten eine Liste der aktiven oder vorbereiteten Anweisungen zum Zeitpunkt der Ausführung einer Abfrage.
- Das Abfrageergebnis bleibt stabil, bis die Transaktion festgeschrieben wird! Dies bedeutet, dass das wiederholte Ausführen der Abfrage ohne Festschreiben keine neuen Informationen liefert.
- Nur
SYSDBA
der Datenbankbesitzer oder ein Benutzer mit Rolle RDB$ADMIN
kann alle Informationen sehen, andere Benutzer können nur Informationen über ihre eigenen Verbindungen sehen.
- Ihre Firebird-Installation enthält grundlegende Dokumentation zu den Tabellen in
doc/README.monitoring_tables.txt
Nun zu Ihrem Screenshot: Alle Anweisungen stammen aus derselben Verbindung (Ihrer eigenen) : MON$ATTACHMENT_ID = 1521
. Derzeit ist nur eine Anweisung aktiv ( MON$STATE = 1
) und nimmt an der Transaktion teil MON$TRANSACTION_ID = 90964
und wurde am 06.12.2012 um 10:08 Uhr ( MON$TIMESTAMP
) gestartet. Der Rest ist inaktiv ( MON$STATE = 0
) und hat daher keine Transaktions-ID und keinen Zeitstempel. Die erste Anweisung ist auch die einzige, die derzeit eine tatsächliche Abfrage ( MON$SQL_TEXT
) hat. Dies ist die Abfrage, die das Ergebnis im Screenshot tatsächlich erzeugt hat. In Firebird werden Anweisungen getrennt von der tatsächlichen Abfrage zugewiesen, die mit dieser Anweisung ausgeführt werden soll.
Das ist nicht viel, aber wenn Sie angeschlossen hatten MON$RECORD_STATS
, MON$IO_STATS
oder MON$MEMORY_USAGE
basierend auf MON$STAT_ID
Sie würden Statistiken über die Abfrage (dh die Anzahl der liest, Datensätze zu aktualisieren, Anzahl der Seiten gelesen oder geschrieben, die Speichernutzung) übermittelt. Die Überwachungstabellen zeigen Informationen zu einem bestimmten Zeitpunkt an. Wenn eine Abfrage bei der Ausführung bereits abgeschlossen ist, erhalten Sie keine Informationen (ich bin nicht 100% sicher, aber sie bleiben möglicherweise bis zur nächsten Ausführung von a verfügbar Aussage oder bis die Aussage unvorbereitet oder geschlossen ist).
Wenn Sie stattdessen einen Strom von Informationen und Statistiken benötigen, können Sie möglicherweise mehr aus der Firebird Trace-API herausholen. Ich habe es selbst noch nicht viel benutzt, aber der Artikel Audit and Trace Services in Firebird 2.5 von Thomas Steinmauer bietet eine gute Einführung.
In Ihrer Frage sagen Sie, Sie hätten "mehr Inhalt" erwartet, aber nicht angegeben, welchen Inhalt Sie benötigen oder erwarten. Ich hoffe das liefert genügend Infos.