SQL問合せの調整
問合せの調整は、レポートのパフォーマンスを向上するための最も重要なステップです。
「パブリッシャ」は、実行計画およびSQLモニタリング・レポートを生成するメカニズムを提供します。 この機能は、Oracle Databaseに対して実行されるSQL文に適用されます。 他のタイプのデータベースに対する論理問合せはサポートされていません。
実行計画の生成
実行計画は、単一の問合せのデータセット・レベル、またはレポート内のすべての問合せのレポート・レベルで生成できます。
実行計画の解釈の詳細は、「Oracle Database SQLチューニング・ガイド」を参照してください。
単一問合せの実行計画
SQLデータセット「編集」ダイアログから、問合せを実際に実行する前に実行計画を生成できます。 これにより、計画の最適な推定が提供されます。 問合せはnull値でバインドして実行されます。
「SQL問合せの編集」ダイアログで「実行計画の生成」をクリックします。 生成されたドキュメントをノート帳やWordPadなどのテキスト・エディタで開きます。
問合せのチューニングに関するガイドライン
一連のガイドラインに従って問合せをチューニングします。
-
実行計画を分析し、影響の大きいSQL文を特定します。
-
必要なフィルタ条件を追加し、不要な結合を削除します。
-
大きい表のFTS (全表スキャン)を回避および削除します。 場合によっては、小さい表の全表スキャンが高速になり、問合せフェッチが改善されることに注意してください。 小さい表には必ずキャッシュを使用します。
-
適切な索引の使用を強制するには、SQLヒントを使用します。
-
複雑なサブクエリーを避け、必要に応じてグローバル一時表を使用します。
-
複数の集計にはOracle SQL分析関数を使用します。
-
可能であれば、WHERE句のサブクエリーが多すぎないようにしてください。 かわりに、外部結合を使用して問合せをリライトします。
-
HAVINGやIN / NOT IN where句条件などのグループ関数は避けてください。
-
複雑な集計関数には、CASE文およびDECODE関数を使用します。