統計の収集方法による正確さの比較 - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQLリクエストおよびトランザクション処理

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/arh1512079329802.ditamap
dita:ditavalPath
ja-JP/arh1512079329802.ditaval
dita:id
B035-1142
Product Category
Software
Teradata Vantage

サンプル統計と母集団統計の正確性の比較

使用可能なさまざまな方法で収集された統計の正確さがどれくらいかを先験的に比較検討する場合に理解しておかなければならない大事なことは、母集団統計の正確さが必ずどのような形式のサンプル統計よりも高くなるということです。正確さが劣ると思われる方法を使用して収集した統計が、それより高いと思われる正確さで収集した統計と同じくらい良いということは常に起こりえますが、より正確になることは決してありません。

そしてこれも否定できないことですが、最適化ルーチンが最善の問合わせ計画を必ず作成するために、新しい統計の完全セットを収集する必要があるかどうかを先験的に知ることはできません。

各種の方法に関する相対的な正確さのランキング

さまざまな方法で収集した統計の相対的な正確さを比較した推測を、次のランキング リストに示します。

  1. ほとんどの場合、動的AMPサンプルは残余統計よりも良い。

    動的AMPサンプルもディスクからDBDが取得されるたびに再収集されるので、ほぼ常に、残余統計より新しい状態になります。

  2. 多くの場合、動的全AMPサンプルは動的AMPサンプルよりも優れている。
  3. 通常は、フル テーブル集団統計がどのサンプル統計よりも良い。

次のテーブルに、これらのランキングを裏付ける詳細を示します。順次ランクが高くなっていることは、収集される統計の正確さが増すことと、見積もりに使用する情報の正確さが増すにつれて最適化ルーチンがよりよい問合わせ計画を生成する可能性もさらに高くなることとを表わしたものです。

収集方法 収集する相対経過時間 正確さのランク(数字が大きいほど、正確さも高い) 備考
なし。

残余統計の使用

なし。 1
  • 残余統計によって良いクエリー計画が作成されるかどうかは予測不可能です。

    最悪の場合、非常に貧弱な問合わせ計画が作成されることもある。

    最良の場合、新しく収集された統計と同じぐらい良質の問合わせ計画が作成されることもある。

  • 統計は存在しているため、最適化ルーチンは動的AMPサンプルを使用して最新の統計を収集しない。
  • 最適化ルーチンでは派生統計を使用しますが、その開始地点は既存の統計です。派生統計サブシステムで古い統計を補うこともできます。ただし、利用可能な最新の統計で開始するほうが適しています(派生統計を使用した古い統計の補正を参照)。
動的AMPサンプル ほとんどなし。 2
  • データは1つのAMP上の行の部分集合から収集されるので、それがフル テーブルのデモグラフィックを代表するものではないこともありえる。

    単一AMP上の行のサブセットからのデータの収集が、デフォルトの方法です。内部DBS制御変数に応じて、サンプル対象のAMPのデフォルト数は、1 AMP、2 AMP、5 AMP、ノード上のすべてのAMP、またはシステム上のすべてのAMPとなります。詳細については、Teradataサポート担当者に問合わせてください。

  • テーブルのカーディナリティ、値ごとの平均カーディナリティ、インデックスごとの平均カーディナリティ、各AMP上の各インデックスの平均サイズ、および固有インデックス値の数の統計のみを収集する。
  • サンプル サイズが小さいので、統計にはかなり偏りがある。
  • 正確さはひずみの影響を大きく受ける。
  • テーブルが大きく、値の分布にひずみがなく、データが非定型サンプルから取られたのではない場合、基本テーブルとNUSIのカーディナリティのかなり正確な見積もりが提供される。

    その他の標準統計パラメータはそれほど正確ではない。

全AMPサンプル フル テーブル スキャンを実行したときの約5パーセントの時間。

データにひずみがあると、システムがそのサンプル サイズをどれだけ動的に増やすかに応じて、この比率はより大きくなる。

3
  • データは全AMPにある行のうちシステムが決めた部分集合から収集される。
  • 間隔ヒストグラム作成を含む、フル テーブル スキャンと同一の統計を収集する。
  • サンプル行の比率は小さい。
  • サンプルにひずみが検出された場合、収集した統計の正確さを高めるために、サンプル化された行の比率が動的に増やされる。
フル テーブル スキャン サンプル統計を実行する時間の約195パーセント。 4
  • データはすべてのAMPのすべての行から収集されるため、サンプルの偏りはない。
  • 全統計を収集し、間隔ヒストグラムを作成する。
  • ひずみの原因は、列またはインデックスの統計ヒストグラムに偏りのある間隔を使用したためです。
  • データに応じて、最大100のヒストグラム間隔が使用される。