発行される SQLの確認方法
このコンテンツでは、レポート作成時のデバッグ方法をご紹介しています。
必要ライセンス | WebFOCUS Reporting Server | 制約事項 | 特になし |
カテゴリ | デバッグ | 動作確認バージョン | 8.2.06 |
デバッグしてみよう
レポートのリクエスト(集計、ソート、一時項目、抽出条件 等)が適切にSQLに変換される状況を「SQLの最適化」と呼びます。SQLが最適化されていない場合、思うようなパフォーマンスや結果が出ないことがあるためSQLトレースを取得して確認をします。
WebFOCUSは接続する対象がデータベースの場合、SQLを生成して発行します。
どのようなSQLが発行されているのか確認するための手段としてSQLトレースを提供しています。
例えば、こんなとき・・・
・作成したリクエストがSQLにどのように変換されているか確認したい
・レスポンスが遅い場合に、ボトルネックの切り分けとしてSQLを確認したい
・意図した結果が出ない場合に、問題を切り分けるため材料としてSQLを確認したい
InfoAssistで発行SQLを確認する場合
InfoAssistを起動
レポートをInfoAssistで開きます。
SQLトレースの実行
[実行]ボタン横の[▼]をクリックし、[SQLトレース]を選択します。
どちらもSQLトレースを取得する機能ですが、以下の違いがあります。
通常は「SQLトレース」を使用します。
SQLトレース:リクエストのSQLコマンドを返します。
SQLプレビュートレース:ライブプレビュー時のSQLコマンドを返します。
SQLが表示されます。
App Studioで発行SQLを確認する場合
App Studioを起動
レポートをApp Studioで開きます。
SQLトレースの実行
[表示]タブを選択し、[生成されたSQLを表示]をクリックします。
SQLが表示されます。
発行SQLを確認するコマンドを挿入する場合
テキストで編集
InfoAssist、もしくは、App Studioでレポートをテキストで開き、リクエストの先頭に以下のコマンドを張り付けます。
SET TRACEOFF = ALL
SET TRACEON = STMTRACE//CLIENT
SET TRACEON = SQLAGGR//CLIENT
SET TRACEUSER = ON
SET XRETRIEVAL = OFF
-RUN
SQLトレースの実行
[実行]ボタンをクリックします。
表示された結果画面で右クリックし、メニューから[ページのソースを表示]を選択します。
SQLが表示されます。
以上が、SQLトレースの取得方法です。