ジョブ・ログの Query 最適化プログラム・デバッグ・メッセージの調査

Query 最適化プログラム・デバッグ・メッセージは、照会の実施についてジョブ・ログに通知メッセージを出します。 これらのメッセージは、Query 最適化プログラムでの処理中に何が起こったかを説明します。

例えば、次のことを知ることができます。

  • 索引が使用されるまたは使用されない理由
  • 一時結果が必要な理由
  • 結合およびブロック化が使用されるかどうか
  • 最適化プログラムで推奨している索引のタイプはどれか
  • ジョブの照会の状況
  • 使用される索引
  • カーソルの状況

最適化プログラムは、SQL、呼び出しレベル・インターフェース、ODBC、OPNQRYF、 および SQL 照会管理プログラムを含む、 それが最適化するすべての照会についてのメッセージを自動的に記録します。

STRDBG コマンドを使用したデバッグ・メッセージの表示:

STRDBG コマンドは、ジョブをデバッグ・モードに入れます。 また、デバッグ・セッションの特定の属性を指定します。 例えば、実動スキーマにあるデータベース・ファイルを、 デバッグ・モードで更新可能にするかどうかを指定できます。 例えば、次のコマンドを使用してください。

STRDBG PGM(Schema/program) UPDPROD(*YES)

STRDBG はジョブ・ログに、実行するすべての SQL ステートメントに関する情報を入れます。

QAQQINI コマンドを使用したデバッグ・メッセージの表示:

さらに、照会属性の変更 (CHGQRYA) コマンドの QRYOPTLIB パラメーターを QAQQINI テーブルが入っているユーザー・スキーマに設定できます。 QAQQINI テーブルのパラメーターを MESSAGES_DEBUG に設定し、その値を *YES に設定します。 このオプションは、Query 最適化情報をジョブ・ログに入れます。 QAQQINI テーブルに加えた変更はすぐに有効になり、このテーブルを使用するすべてのユーザーおよび照会に影響します。MESSAGES_DEBUG パラメーターを変更すると、この QAQQINI テーブルを使用するすべての照会は、それぞれのジョブ・ログにデバッグ・メッセージを書き込みます。コマンド入力パネルで F10 を押すと、メッセージ・テキストが表示されます。 2 次レベル・テキストを見るには、F1 (ヘルプ) を押します。 2 次レベル・テキストには、照会パフォーマンス向上のためのヒントが見受けられることがあります。

「SQL スクリプトの実行」でのデバッグ・メッセージの表示:

「SQL スクリプトの実行」にデバッグ・メッセージを表示するには、 「オプション」メニューから、 「ジョブ・ログへのデバッグ・メッセージの組み込み」を選択します。 その後、「表示」メニューから「ジョブ・ログ」を選択します。詳細なメッセージを表示するには、 メッセージをダブルクリックします。

Visual Explain でのデバッグ・メッセージの表示:

Visual Explain では、 デバッグ・メッセージが常に表示されます。 オンまたはオフにする必要はありません。 このウィンドウの下部にデバッグ・メッセージが表示されます。メッセージをダブルクリックすると、詳細なメッセージを表示できます。