スケーラブルデータベースサーバ HiRDB Version 8 システム定義(UNIX(R)用)

[目次][索引][前へ][次へ]

10.2.4 FETCHに関するオペランド

11) pd_hb_ary_fec_num = 配列を使用したFETCH機能で一度に取得する行数
〜<符号なし整数>((1〜30000))
配列を使用したFETCHで一度に取得する行数を指定します。
外部表からの検索結果行数がある程度予測できる場合,このオペランドを指定してください。HiRDBと外部サーバ間の通信によるオーバヘッドの削減が期待できます。外部サーバへの配列FETCH数による外部表へのSQL実行時間及びFETCH回数については,外部サーバの利用状況に関する統計情報で調べてください。外部サーバの利用状況に関する統計情報については,マニュアル「HiRDB Version 8 コマンドリファレンス」の「統計解析ユティリティ」を参照してください。
このオペランドを省略すると,HiRDBが処理をするのに最適な値をHiRDBが自動計算します。
《指定値の目安》
  • 指定値が小さ過ぎると,HiRDBと外部サーバ間の通信回数が多くなるため,その分のオーバヘッドが大きくなります。
  • 指定値が大き過ぎると,メモリを不要に使用するため,メモリ資源を圧迫します。
  • 外部表からの検索結果行数が業務によって変わる場合はこのオペランドを省略することをお勧めします。このオペランドを省略したときの利点は,外部表から取得する1行以上のデータがpd_sql_send_buff_sizeオペランドに指定した通信用バッファ長に収まるかどうかによって異なります。収まる場合は外部表から取得したデータをHiRDBは効率良く処理します。収まらない場合は外部表アクセス時のメモリ使用量を抑えます。

 

12) PDCURSORLVL 0 | 1 | 2
カーソルを使用した検索をする場合に,HiRDBサーバに対してのカーソルオープン・クローズの要求を,どのタイミングで行うかを指定します。
このオペランドの機能及び指定方法は,クライアント環境定義のPDCURSORLVLオペランドと同じです。PDCURSORLVLオペランドについては,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。外部サーバのHiRDBのバージョンが異なる場合は,対応するバージョンのマニュアルを参照してください。
0:
アプリケーションから,カーソルオープン・クローズの要求を受けた場合,HiRDBクライアントはHiRDBサーバに対して,そのまま実行要求をします。
1:
検索データがない場合,HiRDBサーバはSQLCODE=100の返却と同時に,HiRDBクライアントからの要求なしでカーソルをクローズします。HiRDBクライアントは,アプリケーションからのカーソルクローズ要求を受けた場合に,既にSQLCODE=100を検知していれば,HiRDBサーバに対してカーソルクローズ要求をしません。SQLCODE=100を検知していない場合にだけ,カーソルクローズ要求をします。
カーソルオープン要求については,0を指定した場合と同じです。
2:
アプリケーションからのカーソルオープン要求を受けた場合に,HiRDBサーバに対しては実行を要求しないで,初回取り出し要求と同時にカーソルオープン要求をします。
カーソルクローズ要求については,1を指定した場合と同じです。