データベースで実行されたプロシージャ、関数、イベント、またはトリガ内の各行について、実行時間に関する情報をレポートします。このプロシージャは、Sybase Central の [プロファイル] タブと同じ情報を提供します。
sa_procedure_profile( [ filename [, save_to_file ] ] )
filename プロファイル情報を保存するファイル、またはロードするファイルを指定する任意の LONG VARCHAR(128) パラメータ。プロファイル情報の保存とロードの詳細については、以下の備考部分を参照してください。
save_to_file プロファイル情報をファイルに保存するか、前に保存したファイルからロードするかを指定する任意の INT(1) パラメータ。
カラム名 | データ型 | 説明 |
---|---|---|
object_type | CHAR(1) | オブジェクトのタイプ。使用できるオブジェクト・タイプのリストについては、以下の備考部分を参照してください。 |
object_name | CHAR(128) | ストアド・プロシージャ、関数、イベント、またはトリガの名前。object_type が C または D の場合、これはシステム・トリガが定義された外部キーの名前です。 |
owner_name | CHAR(128) | オブジェクトの所有者。 |
table_name | CHAR(128) | トリガに対応するテーブル (他のオブジェクト・タイプの場合、値は NULL)。 |
line_num | UNSIGNED INTEGER | プロシージャ内の行番号。 |
executions | UNSIGNED INTEGER | 行の実行回数。 |
millisecs | UNSIGNED INTEGER | 行の実行時間 (ミリ秒単位)。 |
percentage | DOUBLE | 全体的な実行時間に対する特定の行の実行時間の割合。 |
foreign_owner | CHAR(128) | システム・トリガの外部テーブルを所有するデータベース・ユーザ。 |
foreign_table | CHAR(128) | システム・トリガの外部テーブルの名前。 |
このプロシージャは、次の用途で使用できます。
詳細なプロシージャのプロファイル情報を返す この場合、引数指定することなく、プロシージャを呼び出すだけです。
詳細なプロシージャのプロファイル情報をファイルに保存 この場合、filename 引数を含め、save_to_file 引数に 1 を指定します。
詳細なプロシージャのプロファイル情報を前に保存したファイルからロード この場合、filename 引数を含め、save_to_file 引数に 0 を指定します (デフォルトが 0 のため、オフにすることもできます)。この方法でプロシージャを使用すると、ロードしたファイルは、プロシージャを実行しているデータベースと同じデータベースが作成します。それ以外の場合、結果は使用できません。
結果セットには、プロシージャ、トリガ、関数、イベント内の個々の行に関する実行回数の情報、および行が使用するプロシージャの合計の実行回数の割合が含まれるため、このプロファイル情報を使用して、パフォーマンスを低下させる可能性がある遅いプロシージャを微調整できます。
プロファイリングを有効にしてから、データベースのプロファイルを作成します。プロシージャ・プロファイリングの有効化を参照してください。
結果セットの object_type フィールドは、次のようになります。
P ストアド・プロシージャ
F 関数
E イベント
T トリガ
C ON UPDATE システム・トリガ
D ON DELETE システム・トリガ
各実行について、行ごとの詳細ではなく、概要情報が必要な場合、sa_procedure_profile_summary プロシージャを使用します。
DBA 権限が必要です。
なし
次の文は、データベースで実行されたすべてのプロシージャ、関数、イベント、またはトリガの各行について実行時間を返します。
CALL sa_procedure_profile( ); |
次の文は、上記の例と同じ詳細なプロシージャのプロファイル情報を返し、この情報をファイル detailedinfo.txt に保存します。
CALL sa_procedure_profile( "detailedinfo.txt", 1 ); |
次の文はいずれも、ファイル detailedinfoOLD.txt から詳細なプロシージャのプロファイル情報をロードするときに使用できます。
CALL sa_procedure_profile( "detailedinfoOLD.txt", 0 ); |
CALL sa_procedure_profile( "detailedinfoOLD.txt" ); |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |