リファレンスガイド> TDV SQLのキーワードと構文> CREATE TABLE> DDL句
 
DDL句
TDVは、Vertica、Teradata、ComputeDBなどの特定のデータソースに対して次のDDL句をサポートします。これらのDDL句のセマンティクスと使用法の詳細については、データソース固有のドキュメントを参照してください。
BROADCAST
DDLでBROADCAST句を指定すると、クラスター内のすべてのノードにテーブルが複製されます。
:TDVは現在、Verticaに対してこのDDL句をサポートしています。
構文
CREATE TABLE database_name.table_name
(column1 data_type,
column2 data_type,
column3 data_type,
...)
BROADCAST;
CREATE TABLE /shared/test/myorder
(order_id INTEGER,
order_name CHAR(25),
order_date DATE,
reorder_lvl INTEGER)
BROADCAST;
上記のDDLは、指定された場所にテーブル「myorder」を作成し、このテーブルはクラスター内のすべてのノードに複製されます。
PARTITION BY
PARTITION BY句を指定すると、その句で指定されたパーティションのテーブルデータストレージが制限されます。この句は、BROADCAST句と相互に排他的であることに注意してください。
:TDVは現在、VerticaおよびComputeDBに対してこのDDL句をサポートしています。
構文
CREATE TABLE database_name.table_name
(column1 data_type,
column2 data_type,
column3 data_type,
...)
PARTITION BY column_name1(, column2);
CREATE TABLE /shared/test/myorder
(order_id INTEGER,
order_name CHAR(25),
order_date DATE,
reorder_lvl INTEGER)
PARTITION BY order_id;
CLUSTER BY
DDLでCLUSTER BY句を指定すると、CLUSTER BY句で指定された列に従ってデータがグループ化されます。
:TDVは現在、Verticaに対してこのDDL句をサポートしています。
構文
CREATE TABLE database_name.table_name
(column1 data_type,
column2 data_type,
column3 data_type,
...)
CLUSTER BY(column_column);
CREATE TABLE /shared/test/myorder
(order_id INTEGER,
order_name CHAR(25),
order_date DATE,
reorder_lvl INTEGER)
CLUSTER BY (order_id);
上記の例では、テーブル「myorder」が指定された場所に作成されます。データセットは、order_id列のクラスターに分割されます。 CLUSTER BY句を指定すると、クエリのパフォーマンスが向上します。
ORDER BY
DDLでORDER BY句を指定すると、ORDER BY句で指定された列に従ってデータが並べ替えられてグループ化されます。
:TDVは現在、Verticaに対してこのDDL句をサポートしています。
構文
CREATE TABLE database_name.table_name
(column1 data_type,
column2 data_type,
column3 data_type,
...)
ORDER BY(column_column);
CREATE TABLE /shared/test/myorder
(order_id INTEGER,
order_name CHAR(25),
order_date DATE,
reorder_lvl INTEGER)
ORDER BY (order_id);
上記の例では、テーブル「myorder」が指定された場所に作成されます。データセットは、列order_idで並べ替えられます。 ORDER BY句を指定すると、クエリのパフォーマンスが向上します。
[UNIQUE|NO] PRIMARY INDEX
この句を使用して、プライマリインデックスを指定します。テーブルに含めることができるプライマリインデックスは1つだけです。プライマリインデックスを明示的に割り当てない場合、TDVはデフォルトのプライマリインデックスを選択します(NO INDEXを指定しない限り)。
:TDVは現在、Teradataに対してこのDDL句をサポートしています。
構文
CREATE TABLE database_name.table_name
(column1 data_type,
column2 data_type,
column3 data_type,
...)
UNIQUE PRIMARY|NO INDEX (primary_index_column);
CREATE TABLE /shared/test/myorder
(order_id INTEGER,
order_name CHAR(25),
order_date DATE,
reorder_lvl INTEGER)
UNIQUE PRIMARY INDEX (order_id);
上記の例では、プライマリインデックスがorder_idのフォルダ「/shared/test」に「myorder」というテーブルを作成します。