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

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Systemobjekte » Systemprozeduren » Alphabetische Liste der Systemprozeduren

 

sa_procedure_profile-Systemprozedur

Gibt Auskunft über die Ausführungszeit einzelner Zeilen innerhalb von Prozeduren, Funktionen, Ereignissen und Triggern, die in einer Datenbank ausgeführt wurden Diese Prozedur liefert dieselben Informationen wie das Register Profil in Sybase Central.

Syntax
sa_procedure_profile(  
  [ Dateiname
  [, In_Datei_speichern ] ]
)
Argumente
  • Dateiname   Verwenden Sie diesen optionalen LONG VARCHAR(128)-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.

  • In_Datei_speichern   Mit diesem optionalen INT(1)-Parameter können Sie angeben, ob die Profilerstellungsinformationen in einer Datei gespeichert oder aus einer vorher gespeicherten Datei geladen werden sollen.

Ergebnismenge
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
Bemerkungen

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 Dateiname-Argument verwenden und "1" für das In_Datei_speichern-Argument angeben.

  • Detaillierte Profilerstellungsinformationen von einer vorher gespeicherten Datei laden   Um das zu tun, müssen Sie das Dateiname-Argument verwenden und "0" für das In_Datei_speichern-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. Weitere Hinweise finden Sie unter Prozedurprofilerstellung aktivieren.

Das Feld object_type des Ergebnisses 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.

Berechtigungen

DBA-Berechtigung erforderlich

Nebenwirkungen

Keine

Siehe auch
Beispiel

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" );