例: ゼロ統計のコピー - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/ncd1596241368722.ditamap
dita:ditavalPath
ja-JP/ncd1596241368722.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

このセットの例では、ゼロ統計をコピーします。この例は以下のtestおよびtest1のソース テーブル定義に基づいています。

    CREATE SET TABLE test, NO FALLBACK,
     NO BEFORE JOURNAL,
     NO AFTER JOURNAL,
     CHECKSUM = DEFAULT (
       x INTEGER,
       y INTEGER,
       z CHARACTER(30),
       a INTEGER,
       b DATE,
       e INTEGER)
    PRIMARY INDEX (a),
    INDEX(x, y);

testの以下の統計を収集すると仮定します。

統計 Test表の列セット
単一列
  • x
  • y
単一列NUPI a
複数列
  • (x, y, z)
  • (a, b)
複数列NUSI (x, y)
    CREATE SET TABLE test1, NO FALLBACK,
     NO BEFORE JOURNAL,
     NO AFTER JOURNAL,
     CHECKSUM = DEFAULT (
       x1 INTEGER,
       y1 INTEGER,
       z1 CHARACTER(30),
       a1 INTEGER,
       k1 DECIMAL,       
       b1 DATE)
    PRIMARY INDEX (x1, y1),
    INDEX (z1);

test1に対して次の統計が収集されていると仮定します。

統計 test1テーブルの列セット
単一列
  • x1
  • y1
  • k1
単一列NUSI z1
複数列NUPI (x1, y1)

例1

この例では、システムは次の列およびインデックス セットのゼロ統計をコピーします。

    CREATE GLOBAL TEMPORARY TABLE t2 AS (SELECT *
                                         FROM test1) 
    WITH NO DATA AND STATISTICS;
システムによりコピーされるゼロ統計 コピー元となるソース テーブルの列セット コピー先となるターゲット テーブルの列セット 理由
単一列 x1 x1 ターゲット テーブルt2に定義したすべての列は、ソース テーブルtest1に定義したすべての列と完全に相似であるため。
y1 y1
k1 k1
なし z1
単一列NUSI z1 なし
複数列NUPI (x1, y1) (x1, y1)

例2

この例では、システムは次の列およびインデックス セットのゼロ統計をコピーします。

    CREATE GLOBAL TEMPORARY TABLE t2 AS (SELECT *
                                         FROM test) 
    WITH NO DATA AND STATISTICS;
システムによりコピーされるゼロ統計 コピー元となるソース テーブルの列セット コピー先となるターゲット テーブルの列セット 説明
単一列 x x ターゲット テーブルt2に定義したすべての列は、(x,y)のNUSIがt2のインデックスとして定義されていないことを除いて、ソース テーブルtestに定義したすべての列と相似であることから、そのインデックス統計はt2の複数列統計としてコピーされます。
y y
単一列NUPI a a
複数列 (x, y, z) (x, y, z)
(a, b) (a, b)
なし (x, y)
複数列NUSI (x, y) なし

例3: テーブルのゼロ統計のコピー

この例では、Vantageはソース テーブルt1のゼロ統計をターゲット テーブルtestにコピーします。

    CREATE TABLE t1 AS test
    WITH NO DATA AND STATISTICS;
Vantageによりコピーされるゼロ統計 コピー元となるソース テーブルの列セット コピー先となるターゲット テーブルの列セット 理由
単一列 x x ターゲット テーブルt1に定義したすべての列は、ソース テーブルtestに定義したすべての列と完全に相似であるため。
y y
単一列NUPI a a
複数列
  • (a, b)
  • (x, y, z)
  • (a, b)
  • (x, y, z)
複合NUSI (x, y) (x, y)

例4

この例では、testとtest1の結合条件がsubqueryに指定されているので、Vantageは統計をコピーしません。

    CREATE TABLE t1 AS (SELECT *
                        FROM test, test1) 
    WITH NO DATA AND STATISTICS;