プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド
12c (12.2.1.2.0)
E82973-02
目次へ移動
目次

前
前へ
次
次へ

SQL文でのヒントの使用

ヒントとは、SQL文内に配置されるインストラクションで、データ・ソース問合せオプティマイザに、その文を実行するための最も効率的な方法を指示します。

ヒントは、オプティマイザの実行計画より優先されるため、ヒントを使用して、より効率的な計画を使用するようオプティマイザに強制することにより、パフォーマンスを向上させることができます。ヒントは、Oracle Databaseデータ・ソースでのみサポートされています。

管理ツールを使用すると、オンライン・モードとオフライン・モードの両方でヒントをリポジトリに追加でき、問合せのパフォーマンスを最適化できます。リポジトリにヒントを追加するときに、ヒントを物理レイヤー・オブジェクトに関連付けます。ヒントに関連付けられたオブジェクトに対して問合せが実行されると、Oracle BIサーバーによってヒントがSQL文に挿入されます。

この表は、ヒントを関連付けることができる物理オブジェクトを示しています。また、対象の物理オブジェクトに対応する管理ツールのダイアログも示しています。これらのダイアログそれぞれに、「ヒント」フィールドが含まれており、このフィールドに、リポジトリに追加するヒントを入力できます。

データベース・オブジェクト ダイアログ

複合結合

複合結合

物理外部キー

物理外部キー

物理表

物理表 - 「一般」タブ

ヒントは、「表タイプ」が「物理表」に設定されている場合にのみサポートされます。その他の表については、ヒントのテキストは無視されます。表タイプが「選択」の物理表の場合、「デフォルトの初期化文字列」フィールドに入力するSQL文の一部としてヒントのテキストを入力できます。

Oracleヒントの使用方法

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)

Leadingヒントについて

Leadingヒントは、指定した表で問合せの結合順序を構築するようオプティマイザを強制します。

Leadingヒントの構文はleading(table_name)です。Products表とSalesファクト表との間に外部キー結合を作成し、Products表で結合を開始するようオプティマイザを強制する場合は、管理ツールの「物理外部キー」ダイアログに移動して、「ヒント」フィールドに次のテキストを入力します。

leading(Products)

ヒントのパフォーマンスに関する考慮事項について

十分に調査され、計画されたヒントは、問合せのパフォーマンスを大きく向上することができます。

ただし、ヒントは、実行計画が不十分であると、パフォーマンスに負の影響を与えることもあります。

ヒントを作成して問合せのパフォーマンスを最適化するには、次のガイドラインに従ってください。

  • ヒントをリポジトリに追加するのは、次の方法でパフォーマンスの向上を試みた後のみです。

    • Oracle Databaseに物理索引(またはその他の物理変更)を追加します。

    • サーバー内でモデリングの変更を行います。

  • 頻繁に問合せが実行される物理表オブジェクトと物理結合オブジェクトには、ヒントを作成しないようにします。ヒントに関連付けられている物理オブジェクトを削除または名前変更した場合は、それに応じてヒントも変更する必要があります。

ヒントの作成

Oracle BI管理ツールを使用して、ヒントをリポジトリに追加できます。

  1. 管理ツールで、次のいずれかのダイアログに移動します。
    • 「物理表—一般」タブ

    • 物理外部キー

    • 複合結合

  2. ヒント」フィールドにヒントのテキストを入力して、「OK」をクリックします。

    使用できるOracleヒントとヒント構文の説明は、使用しているバージョンのOracle DatabaseのSQLリファレンスを参照してください。

    注意:

    ヒントには、SQLコメント・マーカー(/*または--)を使用しますが、ヒントのテキストの入力時にSQLコメント・マーカーを入力しないでください。ヒントの実行時に、Oracle BIサーバーによってコメント・マーカーが挿入されます。