機械翻訳について

SQL問合せの調整

問合せの調整は、レポートのパフォーマンスを向上するための最も重要なステップです。

「パブリッシャ」は、実行計画およびSQLモニタリング・レポートを生成するメカニズムを提供します。 この機能は、Oracle Databaseに対して実行されるSQL文に適用されます。 他のタイプのデータベースに対する論理問合せはサポートされていません。

実行計画の生成

実行計画は、単一の問合せのデータセット・レベル、またはレポート内のすべての問合せのレポート・レベルで生成できます。

実行計画の解釈の詳細は、「Oracle Database SQLチューニング・ガイド」を参照してください。

単一問合せの実行計画

SQLデータセット「編集」ダイアログから、問合せを実際に実行する前に実行計画を生成できます。 これにより、計画の最適な推定が提供されます。 問合せはnull値でバインドして実行されます。

「SQL問合せの編集」ダイアログで「実行計画の生成」をクリックします。 生成されたドキュメントをノート帳やWordPadなどのテキスト・エディタで開きます。

レポートの実行計画

レポートの実行計画を生成するには、スケジューラを使用してレポートを実行します。

  1. 「新規」メニューから、「レポート・ジョブ」を選択します。
  2. スケジュールするレポートを選択し、「診断」タブをクリックします。

    「診断」タブにアクセスするには、BI AdministratorまたはBI Data Model Developer権限が必要です。

  3. Enable SQL Explain PlanとEnable Data Engine Diagnosticを選択します。
    • SQL実行計画の有効化 - 実行計画/SQLモニターのレポート情報を含む診断ログを生成します。

    • データ・エンジン診断の有効化 - データ・プロセッサ・ログを生成します。

    • レポート・プロセッサ診断の有効化 - FO (書式設定オプション)およびサーバー関連のログ情報を生成します。

    • 統合ジョブ診断の有効化 - スケジューラ・ログ、データ・プロセッサ・ログ、FOおよびサーバー・ログの詳細を含むログ全体を生成します。

  4. レポートを送信します。
  5. ホーム・ページの「ブラウズ/管理」で、「ジョブ履歴のレポート」を選択します。
  6. 詳細を表示するレポートを選択します。 「出力&配信」で、「診断ログ」をクリックして実行計画の出力をダウンロードします。

実行計画の例:

問合せのチューニングに関するガイドライン

一連のガイドラインに従って問合せをチューニングします。

  • 実行計画を分析し、影響の大きいSQL文を特定します。

  • 必要なフィルタ条件を追加し、不要な結合を削除します。

  • 大きい表のFTS (全表スキャン)を回避および削除します。 場合によっては、小さい表の全表スキャンが高速になり、問合せフェッチが改善されることに注意してください。 小さい表には必ずキャッシュを使用します。

  • 適切な索引の使用を強制するには、SQLヒントを使用します。

  • 複雑なサブクエリーを避け、必要に応じてグローバル一時表を使用します。

  • 複数の集計にはOracle SQL分析関数を使用します。

  • 可能であれば、WHERE句のサブクエリーが多すぎないようにしてください。 かわりに、外部結合を使用して問合せをリライトします。

  • HAVINGやIN / NOT IN where句条件などのグループ関数は避けてください。

  • 複雑な集計関数には、CASE文およびDECODE関数を使用します。