Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド 12c (12.2.1.2.0) E82973-02 |
|
![]() 前へ |
![]() 次へ |
ヒントとは、SQL文内に配置されるインストラクションで、データ・ソース問合せオプティマイザに、その文を実行するための最も効率的な方法を指示します。
ヒントは、オプティマイザの実行計画より優先されるため、ヒントを使用して、より効率的な計画を使用するようオプティマイザに強制することにより、パフォーマンスを向上させることができます。ヒントは、Oracle Databaseデータ・ソースでのみサポートされています。
管理ツールを使用すると、オンライン・モードとオフライン・モードの両方でヒントをリポジトリに追加でき、問合せのパフォーマンスを最適化できます。リポジトリにヒントを追加するときに、ヒントを物理レイヤー・オブジェクトに関連付けます。ヒントに関連付けられたオブジェクトに対して問合せが実行されると、Oracle BIサーバーによってヒントがSQL文に挿入されます。
この表は、ヒントを関連付けることができる物理オブジェクトを示しています。また、対象の物理オブジェクトに対応する管理ツールのダイアログも示しています。これらのダイアログそれぞれに、「ヒント」フィールドが含まれており、このフィールドに、リポジトリに追加するヒントを入力できます。
データベース・オブジェクト | ダイアログ |
---|---|
複合結合 |
複合結合 |
物理外部キー |
物理外部キー |
物理表 |
物理表 - 「一般」タブ |
ヒントは、「表タイプ」が「物理表」に設定されている場合にのみサポートされます。その他の表については、ヒントのテキストは無視されます。表タイプが「選択」の物理表の場合、「デフォルトの初期化文字列」フィールドに入力するSQL文の一部としてヒントのテキストを入力できます。
Oracle BIサーバーでのOracleヒントの使用については、次のトピックを参照してください。
使用するOracle Databaseのバージョンについては、SQLリファレンス・ガイドのOracleヒントに関する項を参照してください。
この項では、次の項目について説明します。
索引ヒントは、オプティマイザが表ではなく特定の索引をスキャンする方法を示します。
ORDER_ITEMS
表に対する問合せが遅い場合は、問合せオプティマイザの実行計画を確認してください。FAST_INDEX
が使用されていない場合は、索引ヒントを作成して、オプティマイザがORDER_ITEMS
表ではなくFAST_INDEX
をスキャンするように強制できます。索引ヒントの構文は、次のとおりです。
index(table_name,index_name)
このヒントをリポジトリに追加するには、管理ツールの「物理表」ダイアログを開いて、「ヒント」フィールドに次のテキストを入力します。
index(ORDER_ITEMS, FAST_INDEX)
十分に調査され、計画されたヒントは、問合せのパフォーマンスを大きく向上することができます。
ただし、ヒントは、実行計画が不十分であると、パフォーマンスに負の影響を与えることもあります。
ヒントを作成して問合せのパフォーマンスを最適化するには、次のガイドラインに従ってください。
ヒントをリポジトリに追加するのは、次の方法でパフォーマンスの向上を試みた後のみです。
Oracle Databaseに物理索引(またはその他の物理変更)を追加します。
サーバー内でモデリングの変更を行います。
頻繁に問合せが実行される物理表オブジェクトと物理結合オブジェクトには、ヒントを作成しないようにします。ヒントに関連付けられている物理オブジェクトを削除または名前変更した場合は、それに応じてヒントも変更する必要があります。