17.00 - 17.05 - USING SAMPLEオプションを使用した統計のサンプリング - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - データベースの管理

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Release Date
2020年6月
Content Type
管理
Publication ID
B035-1093-170K-JPN
Language
日本語 (日本)

均等に分散したデータ(偏りが少ないか偏っていないデータ)を含む列で統計を再収集することが、パフォーマンスの点からしてコスト高である場合は、サンプル統計を試してください。

サンプル統計を使用するときは、COLLECT STATISTICSリクエストのUSING SAMPLEオプションを指定します。サンプル統計の収集は、システム決定によるサンプル パーセンテージに基づくか、またはサンプル パーセンテージを指定して行なうことができます。サンプル パーセンテージを指定した場合、Teradataは指定されたパーセント数の行を読みとって統計を収集します。

Teradataがサンプル パーセンテージを決定する場合、システムはサンプリングに切り替えるタイミングと、パフォーマンスの品質を損なわずに使用できるサンプリングの適切な度合いを決定します。ダウングレードするアプローチは、以下のように実行されます。

  1. サンプル統計収集を初めて要求したときには、Teradataは完全な統計を収集します。この収集により、より小さいパーセンテージにダウングレードするタイミングを決定するために必要な情報がTeradataに提供されます。
  2. 統計を再収集する後続のリクエストで、Teradataは十分な統計履歴を収集するまで、完全な統計を収集します。
  3. Teradataはこの統計履歴を使用して列の性質(例えば、スキューしている、データ分布にばらつきがある、静的であるなど)を評価します。Teradataは、DBC.StatsTbl.UsageTypeフィールドに保持されている列の使用方法(詳細データまたはサマリー データ)やユーザー指定の間隔数を考慮に入れて、サンプル統計にダウングレードするタイミングを決定します。システムは、サマリー データが使用されているヒストグラムのサンプル統計をより積極的にダウングレードしようとします。
  4. Teradataは、列の履歴および性質に基づいて、統計の再収集のサンプル パーセンテージ(2%から100%)とスケーリングに使用する式を決定します。
  5. パフォーマンスの品質を確保するため、Teradataは再収集された統計を履歴と比較します。システムは、より小さいサンプルの結果の品質が良い場合に限り、サンプリング パーセンテージを下げます。

例えば、小さなテーブル、スキューされた列、パーティション式のメンバーである列、または詳細を必要とする列の場合、Teradataはサンプル統計に切り替えません。

数回サンプル統計収集を実行した後、Teradataは、サンプル パーセンテージと外挿方法を検証して調整するために、完全な統計を収集する場合があります。

サンプル統計は、ビューや問合わせではサポートされません。

使用しているサンプリング パーセンテージを確認するには、データ ディクショナリ テーブルの列DBC.StatsTbl.SampleSizePctに対して問合わせを実行できます。

詳細については、<Teradata Vantage™- SQLリクエストおよびトランザクション処理、B035-1142>のサンプル統計も参照してください。