17.00 - 17.05 - 型変換とパフォーマンス - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1147-170K-JPN
Language
日本語 (日本)

他の関数や演算子の場合と同じように、Teradata Databaseは、LOBと互換性のあるデータ型の暗黙の型変換を、優先順位ルールに従って実行します。LOB型パラメータを宣言するUDFを定義した場合、そのUDFを呼び出す際には、互換引数を渡すことができます。

UDFで宣言されているパラメータのデータ型 UDF呼び出し時に渡すことのできる引数のデータ型
CLOB
  • VARCHAR
  • CHAR
BLOB
  • VARBYTE
  • BYTE

場合によっては、LOBと互換性のある型の暗黙の型変換にパフォーマンス上の問題があります。

例えば、UDFで1個のBLOB型パラメータが宣言されているとしましょう。そのUDFを呼び出す際にVARBYTE列を渡した場合、Teradata Databaseは、そのVARBYTE値を一時BLOBに変換してからUDFに渡します。Teradata Databaseは一時BLOBをディスク上に格納するため、その変換のためのパフォーマンス上のコストはかなり大きくなります。

1つの解決策は、明示的にVARBYTE引数を宣言するオーバーロード関数を作成することです。