17.05 - ORDER BY、インデックスの定義 - 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
日本語 (日本)

単一のNUSI列による、各AMPの行の順序: 値順またはハッシュ順。

BLOB、CLOB、Period、UDT、XML、Geospatial、JSON、またはDATASETの列で行を順序付けすることはできません。

データベース オブジェクトの命名ルールについては、<Teradata Vantage™ - SQLの基本、B035-1141>を参照してください。

ORDER BY句の使用ルールについては、以下のテーブルに示します。
  • ORDER BYにVALUESを付けて指定した場合、ORDER BY column_nameは、4バイト以下の数値である必要があります。
  • ORDER BYにHASHまたはVALUESを指定しない場合、VantageはデフォルトのVALUESが指定されたものと想定します。
  • ORDER BYに列名を指定する場合、ORDER BY column_nameは列のINDEXリストにある列の1つでなければなりません。
VALUES
ORDER BY列に対する値順。
連続した値の範囲を返す問合わせを最適化する場合は、VALUESを選択します(特に、カバー インデックスまたは入れ子結合の場合)。
HASH
ORDER BY列に対するハッシュ順。
デフォルトのようにハッシュ順をすべての列に使用するのではなく、1つの列だけに限定する場合は、HASHを選択します。
NUSIが複数の列に設定されている場合、そのいずれかの列でNUSIをハッシュ順にすると、結合条件にその列だけがかかわっている場合に、入れ子結合に対してNUSIを加わらせることができます。
order_column_name
列のINDEXリスト内のうち、使用するソート順序を指定する列。
値順に並べ替えられた4バイト以下のorder_column_nameに、次のデータ型を指定できます。
  • BYTEINT
  • DATE
  • DECIMAL
  • INTEGER
  • SMALLINT