17.05 - COLLECT STATISTICS構文(QCD形式) - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Release Date
2021年1月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-175K-JPN
Language
日本語 (日本)
COLLECT { STATISTICS | STATS | STAT }
  FOR SAMPLE percentage [PERCENT]
  INTO QCD_name
  [ SET QUERY query_ID ]
  [ SAMPLEID statistics_ID ]
  [ UPDATE MODIFIED ]
  [ON] [ database_name. | user_name. ] table_name

  { COLUMN { { column_name | PARTITION } |
             ( { column_name | PARTITION } [,...] )
           } |

    INDEX { index_name | ( column_name [,...] ) }
  } [;]

構文要素

FOR SAMPLE percentage
FOR SAMPLE percentage PERCENT
指定された列およびインデックス セットの統計を作成するためにサンプリングするテーブルの行の割合を指定します。percentageには100より小さい値を指定する必要があります。
例えば、5という値を指定すると、各AMPのtable_nameの行の5パーセントが統計を収集するために読み取られます。
このオプションは、行パーティション テーブルのPARTITION列に対する単一列統計リクエストでは認識されません。システムは自動的にパーセンテージを100に増やします。
テーブルのパーティション式のメンバーにもなっている、行パーティション テーブルの列に関するサンプリングに使用するCOLLECT STATISTICS (最適化ルーチン形式)の制約は、COLLECT STATISTICS (QCD形式)には該当しません。
PERCENTは、percentageに指定した値がパーセンテージであることを示す任意指定のキーワードです。
INTO QCD_name
収集されたサンプル統計が書き込まれるQCDデータベースの名前を指定します。
サンプル統計は、指定されたQCDデータベースのTableStatisticsテーブルに書き込まれます。
SET QUERY query_ID
QCD.TableStatistics.QueryIdに挿入される値。
query_IDstatistics_IDの固有の組み合わせによって、特定の列またはインデックスのための別々の統計セットをQCD.TableStatisticsに保管することができます。
デフォルト値は60です。
SAMPLEID statistics_ID
QCD.TableStatistics.StatisticsIdに挿入する値。
query_IDstatistics_IDの固有の組み合わせによって、特定の列またはインデックスのための別々の統計セットをQCD.TableStatisticsに保管することができます。
デフォルトは1です。
UPDATE MODIFIED
変更された統計をQCD.TableStatistics.ModifiedStatsに格納。
UPDATE MODIFIEDオプションを指定しない場合、システムは変更されていない統計をQCD.TableStatistics.StatisticsInfoに保管します。
database_name user_name
table_nameの格納先データベースまたはユーザーの名前(現在のデータベースまたはユーザー以外の場合)。
table_name
指定された列およびインデックスのサンプル統計およびサンプル サイズを収集する対象となるテーブルの名前を指定します。
揮発、ジャーナル、グローバル一時テーブル、またはグローバル一時トレース テーブルに関するQCD統計を収集することはできません。
COLUMN column_name
サンプル統計を収集する列のセットの名前を指定します。
同じCOLLECT STATISTICSリクエストで、列セットとシステム派生PARTITION列の両方の統計を収集することができます。
UDTまたはLOB列に関する統計を収集することはできません。
COLUMN PARTITION
PPIテーブルのシステム派生のPARTITION列に関する統計を収集することを指定します。収集される値はシステム派生のパーティション番号で、その範囲は1以上65,535以下、または行パーティション化されている場合は0です。
同じCOLLECT STATISTICSリクエストで、列セットとシステム派生PARTITION列の両方の統計を収集することができます。
table_nameでパーティション テーブルを識別しなくてもかまいませんし、非パーティション テーブルのPARTITION列統計を要求してもシステムはエラーを返しませんが、この操作には意味がありません。
以下のPARTITION統計は、収集できません。
  • 結合インデックス
  • グローバル一時テーブル
  • 揮発テーブル
INDEX index_name
サンプル統計を収集するインデックスの名前を指定します。
INDEX column_name
サンプル統計を収集する列セットの列の名前を指定します。