構文 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - 地理空間データ型

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/vci1556127188517.ditamap
dita:ditavalPath
ja-JP/vci1556127188517.ditaval
dita:id
B035-1181
Product Category
Software
Teradata Vantage
[SYSUDTLIB.] ST_GEOMETRY
  [ ( maxlength ) ]
  [ INLINE LENGTH integer ]
  [ attribute [...] ]
SYSUDTLIB.
すべてのUDTが作成されるデータベースの名前。
maxlength
正の整数値の後にオプションの乗数が続きます。
maxlengthは、データ型の最大長をバイト単位で指定します。最大長は、インスタンスごとに定義できます。指定すると、VARBYTEまたはBLOBデータ型と同様の方法でデータ型が使用されます。
指定された長さは、実際のデータ長のみカバーします。実際の記憶サイズには、追加のヘッダー情報が含まれます。
デフォルト値は、約16 MBです。
ST_Geometryオブジェクトの実際のサイズは、DataSizeシステム関数を使用して検索できます。
INLINE LENGTH integer
インライン記憶サイズを指定する正の整数値です。インライン記憶サイズ以下のデータは、基本行の内部に格納されます。それ以外の場合、データはLOBサブテーブルに格納されます。
インライン長は、maxlengthよりも大きくすることはできません。
デフォルト値は約10,000バイトです。
attribute
該当するデータ属性。
ST_GEOMETRY列でサポートされる属性は、次のとおりです。
  • NULL
  • NOT NULL
  • FORMAT
  • TITLE
  • NAMED
  • DEFAULT NULL
データ属性の使用法についての詳細は、<Teradata Vantage™ - データ タイプおよびリテラル、B035-1143>を参照してください。

ST_GEOMETRYでは、列記憶属性または列制約属性をサポートしていません。

使用上の注意

インライン記憶サイズを指定するのに任意選択でINLINE LENGTH指定を使用できます。インライン記憶サイズ以下のデータは、基本行の内部に格納されます。それ以外の場合、データはLOB (ラージ オブジェクト)として格納されます。

インライン長がデータ型に対して指定された最大長に等しい場合、データ型は非LOB型として扱われます。この場合、LOBのオーバーヘッドがないため、パフォーマンスは良い可能性があります。特に、UDFとともにこのデータ型を使用する場合は、何らかのパフォーマンス改善が実現する可能性があります。

INLINE LENGTHオプションと共にmaxlengthを使用すると、より小さいジオメトリを強制的に非LOBの値としてインラインで格納することにより、地理空間データの領域管理を改善できます。これは別のLOBサブテーブルではなくテーブル行自体に地理空間データを格納します。さらに、小さいジオメトリに対して小さなインライン長を指定すると、Teradata Databaseが行に予約する領域が少なくなり、テーブルにより多くの列を追加できます。また、非LOBのジオメトリは、LOBをサポートしていないいくつかのロード ユーティリティで動作します。

例: maxlengthとINLINE LENGTHオプションを使用したST_Geometry列の指定

次の例は、ST_Geometry列の異なる列データ型の指定を表示し、ジオメトリ データの格納方法について説明します。

ST_Geometry
maxlengthもINLINE LENGTHも指定されていないため、maxlengthのデフォルトは約16 MB、INLINE LENGTHのデフォルトは約10,000バイトになります。10,000バイト以下のジオメトリは行に直接格納され、それ以外のジオメトリはLOBとして格納されます。
ST_Geometry(250000)
ST_Geometryの最大長は、250,000バイトです。INLINE LENGTHが指定されていないので、デフォルトの10,000バイトになります。このST_Geometryが10,000バイトを超える場合、LOBとして格納されます。
ST_Geometry(250000) INLINE LENGTH 4000
ST_Geometryの最大長は、250,000バイトです。INLINE LENGTHも指定されているため、ジオメトリ データは4,000バイト以下である場合はインラインで行に格納され、そうでない場合はLOBとして格納されます。
ST_Geometry(8000)
INLINE LENGTHなしで最大長が指定されているため、最大値はLOBとして列値を格納するためのTeradataしきい値未満であり、ST_Geometry値は常にインラインで格納されます。
ST_Geometry(8000) INLINE LENGTH 2000
ST_Geometryの最大長は8,000ですが、2,000バイトを超える場合は、LOBとして格納されます。
ST_Geometry INLINE LENGTH 2000
2,000バイトを超えるST_Geometry値は、LOB値として格納されます。maxlengthは、可能な最大長である約16 MBになります。