16.20 - COLLECT STATISTICS(QCD形式) - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-162K-JPN
Language
日本語 (日本)

目的

テーブルの1つまたは複数の列のデモグラフィック データを収集し、収集されたデータの統計プロファイルを計算し、概要を指定されたQCDデータベースのTableStatisticsテーブルに格納します。

この文によって収集される統計は、データベース クエリー分析ツールによって実行されるインデックス分析および妥当性検査タスクで使用されます。これらは、最適化ルーチンによるクエリーの処理には使用されません。COLLECT STATISTICS (最適化ルーチン形式)の詳細については、<Teradata Vantage™ SQLデータ定義言語 - 詳細トピック、B035-1184>を参照してください。

インデックス分析の詳細は、以下を参照してください。
クライアント ベースの問合わせ解析ツールに関する詳細は、以下を参照してください。
  • Teradata® Index Wizardユーザー ガイド、B035-2506
  • Teradata® Viewpointユーザー ガイド、B035-2206、統計マネージャーのトピック

必要な権限

COLLECT STATISTICS (QCD形式)を実行するには、以下の権限が必要です。
  • table_nameまたはこれを含んでいるデータベースに対するINDEXまたはDROP TABLE。
  • TableStatisticsテーブルまたはこれを含むQCDデータベースに対するINSERTおよびUPDATE。

構文



構文要素

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に保管することができます。
デフォルト値は0です。
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
サンプル統計を収集する列セットの列の名前を指定します。

ANSI準拠

COLLECT STATISTICS (QCD形式)は、ANSI SQL:2011規格のTeradata拡張機能です。