OracleでのDriving_siteヒントの使用



Usage Driving_site Hint Oracle



DBLINKを使用してデータベースにリモートアクセスするSQLの場合、ORACLEには次の2つの選択肢があります。
最初に:リモートデータベースでSQLを実行します
2番目:ローカルデータベースでSQLを実行します

したがって、最適化の戦略とアイデア:
戦略:リモートアクセス、ネットワーク送信が大部分を占める、最適化の原則、ネットワーク送信の削減、およびローカル処理への小さな結果セットのプル
アイデア1:リモートデータベースにビューを作成してリモートで実行できます
アイデア2:DRIVING_SITEを使用して、データをローカルにプルして処理します



使用法: / + Driving_site(table_name) /:table_nameは通常、駆動テーブルとして使用される大きなテーブルです。

たとえば、次のSQL:



select /*+ driving_site(o) */ o.column1, p.column1 from root@xxxxx_link o ,table p where o.ID=p.ID

上記では、table_1がリモートデータベーステーブルであることがわかります。 / * + Driving_site(o)* /の影響下で、オラクルは、remote_linkを介してtable_2をリモートデータベースに送信し、Remoteで接続してクエリを実行し、クエリ結果をローカルに返します。したがって、table_1が大きなデータテーブルの場合、ネットワーク伝送が減少し、SQLの実行パフォーマンスが向上します。