WebFOCUSが発行するSQLを見てみよう!
概要
WebFOCUSのレスポンスを調査する際に、WebFOCUSからどのようなSQLが発行されているかを知ることは非常に有益です。
また、WebFOCUSをバージョンアップして動作が変わった場合、以前のバージョンでは発行されていなかったSQLが発行される様に仕様変更されることもあります。これは性能面を考慮しての機能拡張の側面があります。
WebFOCUSから検索対象のデータベースに発行されているSQLは、デバックコマンドをプロシジャに指定することで確認できます。
サンプル
以下のSETコマンドをプロシジャの先頭に追加します。
SET TRACEOFF = ALL
SET TRACEON = STMTRACE//CLIENT
SET TRACEON = SQLAGGR//CLIENT
SET TRACEUSER = ON
SET XRETRIEVAL = OFF
-RUN
コマンド解説
全種類のトレースの無効化
SET TRACEOFF = ALL
SQLトレースの有効化
SET TRACEON = STMTRACE//CLIENT
//CLIENT を指定しない場合、以下のディレクトリ配下にトレースファイルが作成されます。
ディレクトリ名
drive:\ibi\srvXX\wfs\edatemp
(XXにはリリースバージョンが入ります)
ファイル名
tsnnnnnn.trc
(nnnnnnにはエージェント毎に振られる連番が入ります)
データベースで集計処理が行われたか確認
SET TRACEON = SQLAGGR//CLIENT
データベース側で集計処理が行われた場合のメッセージ
(INF32089) 集計が終了しました …
データベース側で集計処理が行われなかった場合のメッセージ
(FOC2590) 次の理由で、集計されませんでした
(FOC2594) 指定されている動詞では集計することができません
トレースを有効化
SET TRACEUSER = ON
データベースからのデータ取得を行わず、トレースの取得のみ行う
SET XRETRIEVAL = OFF
このコマンドを指定することでデータベースからデータの取得を行わないためデータベースへの負荷を軽減できます。SQLの処理時間も計測したい場合は、このコマンドは指定しません。