グローバルヒントタイプのOptimizer Statsヒントは、クエリ処理中にオプティマイザーが特定の統計情報または手法を使用するよう指示するために使用されます。
一般的なOptimizer Statsヒントには GATHER_OPTIMIZER_STATISTICS ヒントと NO_GATHER_OPTIMIZER_STATISTICS ヒントがあり、これらはオプティマイザーの統計情報収集方法に影響します。
ヒント名 |
説明 |
|---|---|
GATHER_OPTIMIZER_STATISTICS |
データ挿入と同時に統計情報を収集することを有効にします。逆操作は NO_GATHER_OPTIMIZER_STATISTICS です。 |
NO_GATHER_OPTIMIZER_STATISTICS |
データ挿入と同時の統計情報収集を禁止します。逆操作は GATHER_OPTIMIZER_STATISTICS です。 |
GATHER_OPTIMIZER_STATISTICS ヒント
GATHER_OPTIMIZER_STATISTICS ヒントは、INSERT INTO...SELECT の実行時にオンラインで統計情報を収集することを指定します。詳細については、オンライン統計情報収集を参照してください。その逆操作は NO_GATHER_OPTIMIZER_STATISTICS です。
構文
/*+ GATHER_OPTIMIZER_STATISTICS */
例
--データベースオプティマイザーに指示し、t2 テーブルのデータを t1 テーブルに挿入した後、オプティマイザーが必要とする統計情報を収集するようにします。
INSERT /*+ GATHER_OPTIMIZER_STATISTICS */ INTO t1 SELECT * FROM t2;
NO_GATHER_OPTIMIZER_STATISTICS ヒント
NO_GATHER_OPTIMIZER_STATISTICS ヒントは、オンラインでの統計情報収集を禁止することを指定します。GATHER_OPTIMIZER_STATISTICS ヒントとは逆の効果を持つヒントです。詳細については、オンライン統計情報収集を参照してください。その逆操作は GATHER_OPTIMIZER_STATISTICS です。
構文
/*+ NO_GATHER_OPTIMIZER_STATISTICS */
例
-- データベースオプティマイザーに指示し、t2 テーブルのデータを t1 テーブルに挿入した後、オプティマイザーの統計情報を収集しないようにします。
INSERT /*+ NO_GATHER_OPTIMIZER_STATISTICS */ INTO t1 SELECT * FROM t2;