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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » システム・オブジェクト » システム・プロシージャ » システム・プロシージャのアルファベット順リスト

 

sa_procedure_profile システム・プロシージャ

データベースで実行されたプロシージャ、関数、イベント、またはトリガ内の各行について、実行時間に関する情報をレポートします。このプロシージャは、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" );