スケーラブルデータベースサーバ HiRDB Version 8 解説(UNIX(R)用)
クライアントのUAPで,検索したBLOBデータ又はBINARYデータをそのデータ型の埋込み変数で受け取る場合,受け取ったデータを格納するためのメモリ領域をクライアント側で用意する必要があります。このため,長大なデータを検索する場合,クライアント側のメモリ資源を圧迫します。さらに,サーバからクライアントへのデータ転送量も大きくなります。しかし,必要なデータが一部だけであったり,受け取ったデータを変更しないでほかのSQL文中に指定してサーバに送り返すだけであったりする場合,データをクライアントに転送することはむだなことになります。
位置付け子機能は,これを解決する機能です。位置付け子は,サーバ上のデータを識別する4バイトの値のデータであり,1行SELECT文やFETCH文のINTO句などに位置付け子の埋込み変数を指定することで,検索結果としてデータの実体ではなく,そのデータを識別する位置付け子の値を受け取ります。また,データを識別する位置付け子の埋込み変数をほかのSQL文中に指定すると,位置付け子が識別するデータを扱う処理ができます。
位置付け子機能の概要を次の図に示します。
図6-22 位置付け子機能の概要
BLOBデータ又はBINARYデータを検索する場合に適用します。
位置付け子機能を使用すると,クライアント側で実際のデータの大きさ分だけメモリを確保する必要がなくなり,更にサーバ,クライアント間のデータ転送を位置付け子で行えるため,データ転送量を少なくできます。
位置付け子機能を使用すると,クライアント側のメモリ所要量を削減できます。また,サーバ,クライアント間のデータ転送量を少なくできます。
位置付け子の値を受け取る場合,SQL文中のBLOB型又はBINARY型のデータを受け取る埋込み変数を指定する箇所に,対応するデータ型の位置付け子の埋込み変数を指定します。また,位置付け子に割り当てられたデータを処理する場合は,SQL文中にBLOB型又はBINARY型の埋込み変数を指定する代わりに,対応するデータ型の位置付け子の埋込み変数を指定します。
位置付け子機能については,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.