Gibt Auskunft über die Ausführungszeit einzelner Zeilen innerhalb von Prozeduren, Funktionen, Ereignissen und Triggern, die in einer Datenbank ausgeführt wurden.
sa_procedure_profile( [ filename [, save_to_file ] ] )
filename Verwenden Sie diesen optionalen LONG VARCHAR-Parameter, um die Datei anzugeben, in der die Profilerstellungsinformationen gespeichert werden sollen bzw. aus der sie geladen werden sollen. Im Abschnitt "Bemerkungen" weiter unten finden Sie weitere Hinweise zum Speichern und Laden von Profilerstellungsinformationen.
save_to_file Mit diesem optionalen INTEGER-Parameter können Sie angeben, ob die Profilerstellungsinformationen in einer Datei gespeichert oder aus einer vorher gespeicherten Datei geladen werden sollen.
Spaltenname | Datentyp | Beschreibung |
---|---|---|
object_type | CHAR(1) | Der Typ des Objekts. Im Abschnitt "Bemerkungen" weiter unten finden Sie eine Liste der möglichen Objekttypen. |
object_name | CHAR(128) | Der Name der gespeicherten Prozedur, der Funktion, des Ereignisses bzw. des Triggers. Wenn object_type mit C oder D definiert wird, ist dies der Name des Fremdschlüssels, für den der Systemtrigger festgelegt wurde. |
owner_name | CHAR(128) | Der Eigentümer des Objekts |
table_name | CHAR(128) | Die einem Trigger zugeordnete Tabelle (der Wert ist NULL bei anderen Objekttypen) |
line_num | UNSIGNED INTEGER | Die Nummer der Zeile innerhalb der Prozedur |
executions | UNSIGNED INTEGER | Gibt an, wie häufig die Zeile ausgeführt wurde |
millisecs | UNSIGNED INTEGER | Die Zeit zum Ausführen der Zeile in Millisekunden |
percentage | DOUBLE | Der Prozentsatz der Gesamtausführungszeit, die für die betreffende Zeile erforderlich ist |
foreign_owner | CHAR(128) | Der Datenbankbenutzer, dem die entfernte Tabelle für einen Systemtrigger gehört |
foreign_table | CHAR(128) | Der Name der entfernten Tabelle für einen Systemtrigger |
Diese Prozedur liefert dieselben Informationen wie die Registerkarte Profil in Sybase Central.
Sie können diese Prozedur für Folgendes verwenden:
Detaillierte Profilerstellungsinformationen zurückgeben Um das zu tun, rufen Sie einfach die Prozedur ohne Angabe von Argumenten auf.
Detaillierte Profilerstellungsinformationen in einer Datei speichern Um das zu tun, müssen Sie das filename-Argument verwenden und "1" für das save_to_file-Argument angeben.
Detaillierte Profilerstellungsinformationen von einer vorher gespeicherten Datei laden Um das zu tun, müssen Sie das filename-Argument verwenden und "0" für das save_to_file-Argument angeben (oder es weglassen, da der Standardwert 0 ist). Wenn Sie die Prozedur auf diese Art verwenden, muss die zu ladende Datei von derselben Datenbank wie jene erstellt worden sein, von der aus Sie die Prozedur ausführen, da sonst die Ergebnisse möglicherweise unbrauchbar sind.
Da die Ergebnismenge Angaben über die Ausführungszeiten für einzelne Zeilen innerhalb von Prozeduren, Triggern, Funktionen und Ereignissen sowie den Prozentsatz der gesamten Prozedurausführungszeit enthält, den diese Zeilen verwenden, können Sie diese Profilerstellungsinformationen verwenden, um langsamere Prozeduren zu optimieren, die möglicherweise die Datenbank-Performance beeinträchtigen.
Damit Sie ein Profil Ihrer Datenbank erstellen können, müssen Sie die Profilerstellung aktivieren.
Die Spalte object_type der Ergebnismenge kann folgende Werte enthalten:
P Gespeicherte Prozedur
F Funktion
E Ereignis
T Trigger
C ON UPDATE-Systemtrigger
D ON DELETE-Systemtrigger
Wenn Sie zusammengefasste Informationen anstelle von zeilenweisen Details für jede Ausführung haben wollen, verwenden Sie stattdessen die sa_procedure_profile_summary-Prozedur.
DBA-Berechtigung
Keine
Die folgende Anweisung gibt die Ausführungszeit für jede Zeile von allen Prozeduren, Funktionen, Ereignissen oder Triggern zurück, die in der Datenbank ausgeführt wurden:
CALL sa_procedure_profile( ); |
Die folgende Anweisung gibt dieselben detaillierten Profilerstellungsinformationen wie das obenstehende Beispiel zurück und speichert sie in einer Datei namens detailedinfo.txt:
CALL sa_procedure_profile( "detailedinfo.txt", 1 ); |
Die beiden folgenden Anweisungen können verwendet werden, um detaillierte Prozedur-Profilerstellungsinformationen aus einer Datei namens detailedinfoOLD.txt zu laden:
CALL sa_procedure_profile( "detailedinfoOLD.txt", 0 ); |
CALL sa_procedure_profile( "detailedinfoOLD.txt" ); |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |