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