次のテーブルは、さまざまなLOBモードでシステムが渡すデータを示しています。
Mode | 説明 |
---|---|
インライン | LOB以外のすべてのデータとLOB全体。 この最大リクエスト サイズは1 MBに制限されていますが、その制限を超えないとしても、送信されるLOBのサイズは64 KBを超えることはできません。 |
据置き | LOBの64 KBの部分。 LOBの64 KBの部分は、LOB全体が伝送されるまで、クライアント アプリケーションによってTeradata Databaseに順次渡されます。 据置きLOBのパーセル サイズの制限を決定するには、ご使用のアプリケーションのAPIのドキュメントを調べてください。APIによっては、1 MBのパーセル サイズをサポートしているものがあります。 |
ロケータ | Teradataプラットフォーム上でのLOBの値参照。 ロケータは現行セッション内の前のSELECTリクエストで生成され、クライアント アプリケーションに渡されます。その後、CLIv2応答でTeradataプラットフォームに戻されます。 |
次のテーブルは各モードの使用法を要約したものです。
Mode | 説明 |
---|---|
インライン | 非据置きモードとも言われます。 一般に、小さいLOBにのみ役立ちます。なぜなら、Teradata Databaseとの間で送信が行なわれる際に、LOB全体はLOB以外のデータと一緒に転送されるからです。 インライン モードは、他のフィールド値を転送する場合と同じ方法でLOBを転送します。このモードは、USINGテキストに特殊な句を必要としません。 インライン モードを使用して複数の行を転送することができます。 クライアント アプリケーションからTeradata Databaseに送信される際のリクエストの最大合計サイズは1 MBです。これはシステムの最大リクエスト サイズです。ただし、送信されるLOBのサイズは64 KBを超えることはできません。 クライアント アプリケーションからTeradataプラットフォームに64 KBを超えるデータを送信することはできません。なぜなら、それはTeradata Databaseの最大の行の長さだからです。 クライアント アプリケーションからTeradata Databaseに送信できるLOBデータのサイズには制約がありません。 |
据置き | このモードは、必要なAS DEFERRED句と共に指定します。 LOBを64 KBのフラグメント単位でクライアントからサーバーに順次転送します。Teradata Databaseは各LOBフラグメントを受け取った後、肯定応答をアプリケーションに送ります。そして、次のLOBを送信するか、すべてのデータが送信されている場合にはリクエストを終了します。 据置きモードでは単一行のみ送信できます。 リクエストのサイズに制限はありません。 このモードでは、TeradataプラットフォームはSQLリクエストの検証後(しかしそれが完了する前)にアプリケーションにLOBを送信するように要求します。据置きLOBが含まれるSQLリクエストがシステム内のすべてのAMPで実行されている場合(通常、単一のAMPシステムは除外しますが、必ずしもそうではありません)、Teradataプラットフォームは失敗を返します。これは全AMPリクエストのみを表わすことに注意してください。また、Teradataプラットフォームは1つの問合わせ内の据置きLOBをオーバーラップできないようにします。 据置きモードで転送されていると判断されるLOBが複数ある場合、TeradataプラットフォームはUSING句で指定されている順序でそれらを要求しない可能性があります。 AS DEFERRED句にBY NAMEオプションを付加できます。これにより、遅延データを処理するための円滑なインターフェースが提供されます。 |
ロケータ | このモードは、必要なAS LOCATOR句と共に指定します。 LOB以外のデータおよびTeradataプラットフォーム常駐のLOBデータへのロケータをクライアントからサーバーに転送します。 ロケータ モードでは複数の行を送信することができます。 ロケータがインスタンス化されると、同じセッション内で行なわれた他のリクエストがそれを使用することができます。 |