LOB転送モードの比較 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/vnq1596660420420.ditamap
dita:ditavalPath
ja-JP/vnq1596660420420.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

次のテーブルは、さまざまなLOBモードでシステムが渡すデータを示しています。

Mode 説明
インライン LOB以外のすべてのデータとLOB全体。

この最大リクエスト サイズは1 MBに制限されていますが、その制限を超えないとしても、送信されるLOBのサイズは64 KBを超えることはできません。

据置き LOBの64 KBの部分。

LOBの64 KBの部分は、LOB全体が伝送されるまで、クライアント アプリケーションによってデータベースに順次渡されます。

据置きLOBのパーセル サイズの制限を決定するには、ご使用のアプリケーションのAPIのドキュメントを調べてください。APIによっては、1 MBのパーセル サイズをサポートしているものがあります。

ロケータ Vantageプラットフォーム上でのLOBの値参照。

ロケータは現行セッション内の前のSELECTリクエストで生成され、クライアント アプリケーションに渡されます。その後、CLIv2応答でVantageプラットフォームに戻されます。

次のテーブルは各モードの使用法を要約したものです。

Mode 説明
インライン 非据置きモードとも言われます。

一般に、小さいLOBにのみ役立ちます。なぜなら、データベースとの間で送信が行なわれる際に、LOB全体はLOB以外のデータと一緒に転送されるからです。

インライン モードは、他のフィールド値を転送する場合と同じ方法でLOBを転送します。このモードは、USINGテキストに特殊な句を必要としません。

インライン モードを使用して複数の行を転送することができます。

クライアント アプリケーションからデータベースに送信される際のリクエストの最大合計サイズは1 MBです。これはシステムの最大リクエスト サイズです。ただし、送信されるLOBのサイズは64 KBを超えることはできません。

クライアント アプリケーションから Vantageプラットフォームに64 KBを超えるデータを送信することはできません。なぜなら、それはデータベースの最大の行の長さだからです。

クライアント アプリケーションからデータベースに送信できるLOBデータのサイズには制約がありません。

据置き このモードは、必要なAS DEFERRED句と共に指定します。

LOBを64 KBのフラグメント単位でクライアントからサーバーに順次転送します。データベースは各LOBフラグメントを受け取った後、肯定応答をアプリケーションに送ります。そして、次のLOBを送信するか、すべてのデータが送信されている場合にはリクエストを終了します。

据置きモードでは単一行のみ送信できます。

リクエストのサイズに制限はありません。

このモードでは、VantageプラットフォームはSQLリクエストの検証後(しかしそれが完了する前)にアプリケーションにLOBを送信するように要求します。据置きLOBが含まれるSQLリクエストがシステム内のすべてのAMPで実行されている場合(通常、単一のAMPシステムは除外しますが、必ずしもそうではありません)、Vantageプラットフォームは失敗を返します。これは全AMPリクエストのみを表わすことに注意してください。また、Vantageプラットフォームは1つの問合わせ内の据置きLOBをオーバーラップできないようにします。

据置きモードで転送されていると判断されるLOBが複数ある場合、VantageプラットフォームはUSING句で指定されている順序でそれらを要求しない可能性があります。

AS DEFERRED句にBY NAMEオプションを付加できます。これにより、遅延データを処理するための円滑なインターフェースが提供されます。

ロケータ このモードは、必要なAS LOCATOR句と共に指定します。

LOB以外のデータおよびVantageプラットフォーム常駐のLOBデータへのロケータをクライアントからサーバーに転送します。

ロケータ モードでは複数の行を送信することができます。

ロケータがインスタンス化されると、同じセッション内で行なわれた他のリクエストがそれを使用することができます。