2

このタイプの負荷の最適化についていくつか質問があります。

パーティション化されたテーブルにロードするデータの新しいテーブルを構築し、この新しいテーブルにインデックスを構築します。

  1. COMPUTE STATISTICS オプションを使用してインデックスを構築する必要がありますか、それとも DBMS_Stats の Cascade オプションを使用する必要がありますか?

  2. スワップ前のテーブルまたはスワップ後のパーティションで統計を収集する必要がありますか?

  3. スワップ後にそれを行い、パラメーター リストでパーティション名を指定した場合、粒度パラメーターにはどのような相互作用がありますか? たとえば、パーティション名を指定してから粒度を「GLOBAL AND PARTITION」に設定すると、グローバルになりますか? その1つのパーティションだけを行いますか?

4

2 に答える 2

1

COMPUTE STATISTICS オプションを使用してインデックスを構築する必要がありますか、それとも DBMS_Stats の Cascade オプションを使用する必要がありますか?

これがデータ ウェアハウスである場合は、最初に統計をまったく収集せず、動的サンプリングを使用することを検討してください。第 2 に、統計を収集する場合は、必ずインデックスの計算統計を使用してください。

スワップ前のテーブルまたはスワップ後のパーティションで統計を収集する必要がありますか?

スワップ前に新しいデータ テーブルの統計を収集して、新しいデータのパーティション統計を取得します -- 後でパーティション テーブルの統計を収集して、テーブルの統計を収集します

スワップ後にそれを行い、パラメーター リストでパーティション名を指定した場合、粒度パラメーターにはどのような相互作用がありますか? たとえば、パーティション名を指定してから粒度を「GLOBAL AND PARTITION」に設定すると、グローバルになりますか? その1つのパーティションだけを行いますか?

上記を参照。

真剣に、統計や動的サンプリングにチャンスを与えないでください。

于 2008-10-03T23:45:58.120 に答える
0
  1. DBMS_STATSこのバージョンの統計を計算する適切な方法と見なされます。を使用してインデックスを作成することCOMPUTE STATISTICSは可能ですが、通常は、すべての統計を一度に計算してスナップショットを作成する必要があります。

  2. スワップ後に統計を収集したい。このようにして、オプティマイザーは、そのパーティションのデータを使用してクエリを実行するための最良の推測を行います。

  3. なぜあなたは両方を置くのですか?

于 2008-10-03T18:57:35.443 に答える