17.05 - 例: ゼロ複数列統計およびゼロ複合インデックス統計のコピー - 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-1144-175K-JPN
Language
日本語 (日本)

Vantageは、subqueryの選択リストで指定したインデックス列の相対順序がソース テーブルの順序と異なる場合でも、複数列ゼロ統計およびゼロ複合インデックス統計をコピーします。

例1: 単一列統計のコピー

この例では、Vantageはtestの列xおよびaの単一列統計を、t2の列aおよびcのゼロ単一列統計としてコピーします。(a,b)の複数列統計はt2の列(b,c)のゼロ複数列統計としてコピーされません。これは、t2の列bおよびcの順序がtestの列bおよびaの順序と異なるためです。

     CREATE TABLE t2 (a, b, c) AS (SELECT x AS colA, b, a (AS colC)
                                   FROM test) 
     WITH NO DATA AND STATISTICS;
Vantageによりコピーされるゼロ統計 コピー元となるソース テーブルの列セット コピー先となるターゲット テーブルの列セット 理由
単一列 x a ターゲット テーブルt2の列aは、ソース テーブルtestの列xと完全に相似であるため。
y なし ソース テーブルの列yと相似の列がターゲット テーブルt2に存在しないため。
単一列NUPI a c ターゲット テーブルt2の列cは、ソース テーブルtestの列aと完全に相似であるため。
複数列 (a,b) なし ターゲット テーブルt2に定義された列bと列cの順序が、ソース テーブルtestに定義された列bと列aの順序と異なるため。
(x,y,z)   ソース テーブルt2に定義した複数列インデックス セットには、ソース テーブルtestの(x,y,z)および(x,y)と相似の列セットが存在しないため。
複数列NUSI (x,y) なし ソース テーブルt2に定義した複数列インデックス セットには、ソース テーブルtestの(x,y,z)および(x,y)と相似の列セットが存在しないため。

例2: 単一列統計のコピー

この例では、Vantageはtest1の単一列統計をt2の列a、b、およびcのゼロ単一列統計としてコピーします。(x1,y1)のインデックス統計はt2の列(a,b)のゼロ インデックス統計としてコピーされません。これは、t2の列aおよびbの順序がtest1の列x1およびy1の順序と異なるためです。

     CREATE TABLE t2 (a, b, c) AS (SELECT k1 AS colA, y1 AS colB, 
                                          z1 AS colC)
                                   FROM test1) 
     WITH NO DATA AND STATISTICS 
     INDEX(a, b);
Vantageによりコピーされるゼロ統計 コピー元となるソース テーブルの列セット コピー先となるターゲット テーブルの列セット 理由
単一列 k1 a ターゲット テーブルt2の新しい列は、ソース テーブルtest1の既存の列と完全に相似であるため。
y1 b
z1 c
  • x1
  • a1
  • b1
なし ソース テーブルのこれらの列と相似の列が、ターゲット テーブルt2の定義に存在しないため。
単一列NUSI z1 なし ソース テーブルの列z1に相似である列cに対して、単一列NUSIがソース テーブル中に定義されておらず、列セット(a,b)に対して複数列NUSIが定義されているため。

ターゲット テーブルt2の(a,b)に対するNUSIは、統計がコピーされずに定義されています。これは、それらと相似なソース テーブルtest1の列セット(k1,y1)に対して統計が収集されていないためです。

複数列NUPI (x1,y1) なし Subqueryの選択リストで指定されたインデックス列の順序が、test1のインデックス列の順序と異なるため。