Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


17.21.5 ResultSetオブジェクトの容量見積もり

ResultSetオブジェクトの容量見積もりの計算式を次に示します。

計算式(32ビットモードの場合)
ResultSetオブジェクトの容量=
 16000+(900+ロケータアクセスオブジェクト長+受信バッファ長
  +一時的作業領域長))×ResultSetインスタンス数
  +検索結果蓄積領域長×ResultSetインスタンス数2
   (単位:バイト)
計算式(64ビットモードの場合)
ResultSetオブジェクトの容量=
 17000+(1300+ロケータアクセスオブジェクト長+受信バッファ長
  +一時的作業領域長))×ResultSetインスタンス数
  +検索結果蓄積領域長×ResultSetインスタンス数2
   (単位:バイト)
ロケータアクセスオブジェクト長:

位置付け子機能を使用する場合(DriverManager.getConnectionの引数のurl又はユーザプロパティのLONGVARBINARY_ACCESSでLOCATORを指定,又はDataSource系インタフェースのsetLONGVARBINARY_AccessメソッドでLOCATORを指定),1,600を加算してください。

受信バッファ長:

次に示す計算式から求めてください。

MAX(A,
   ↑(240+検索行データ長×ブロック転送の行数)÷4096↑×4096,
   Connectionオブジェクトの容量見積もりの受信バッファ長)
A:次のどちらかになります。

次のすべての条件を満たす場合:RECEIVE_BUFFER_SIZEの指定値×1024

  • コネクションプーリング(ConnectionPoolDataSource又はXADataSourceを使用した接続)を使用している

  • RECEIVE_BUFFER_SIZE(システムプロパティHiRDB_for_Java_RECEIVE_BUFFER_SIZE,又はDataSource系インタフェースのsetReceiveBufferSizeメソッド)に0以外を指定している

上記以外の場合:32768

検索行データ長:

次に示す計算式から求めてください。

 検索列数
8+ Σ (列データの定義長i )
  i=1
列データの定義長:

BLOB又はBINARYの場合で,ロケータを使用しているときは4となります。ロケータを使用していないときは,次のどちらかの値となります。

  • HiRDB_for_Java_MAXBINARYSIZEを指定していない場合

    8+定義長

  • HiRDB_for_Java_MAXBINARYSIZEを指定している場合

    MIN(8+定義長,8+HiRDB_for_Java_MAXBINARYSIZE指定値)

ブロック転送の行数:

ブロック転送機能を使用しない場合は1となります。

一時的作業領域長:

次に示す計算式から求めてください。

一時的作業領域長=検索列の「列データの実長2」の最大値
  +検索列の「列データの実長3」の最大値
列データの実長2:

次の表に示します。

出力データ属性

列データの実長2

INTEGER

4

SMALLINT

2

DECIMAL(m, n)

↓m÷2↓+1

FLOAT

8

SMALLFLT

4

上記以外

実長

列データの実長3:

位置付け子機能を使用しBLOB又はBINARY型列を検索した場合,次のどちらかの値となります。

  • HiRDB_for_Java_LONGVARBINARY_ACCESS_SIZEに0以外を指定している場合

    HiRDB_for_Java_LONGVARBINARY_ACCESS_SIZE指定値×1024

  • HiRDB_for_Java_LONGVARBINARY_ACCESS_SIZEに0を指定,又は省略している場合

    BLOB又はBINARY型の列に格納されているデータの実長

上記以外の場合は0となります。

検索結果蓄積領域長:

次に示す計算式から求めてください。

検索列数
 Σ (100+列データの実長i )×検索行数
 i=1
列データの実長:

次に示します。

出力データ属性

列データの実長

INTEGER

4

SMALLINT

2

DECIMAL(m, n)

↓m÷2↓+1

FLOAT

8

SMALLFLT

4

BLOB又はBINARY

位置付け子機能を使用しているときは4となります。位置付け子機能を使用していないときは,次のどちらかの値となります。

  • HiRDB_for_Java_MAXBINARYSIZEを指定していない場合

    8+実長

  • HiRDB_for_Java_MAXBINARYSIZEを指定している場合

    MIN(8+実長,8+MAXBINARYSIZE指定値)

上記以外

実長

ResultSetインスタンス数2:

結果集合の型がResultSet.TYPE_SCROLL_INSENSITIVE,又はResultSet.TYPE_SCROLL_SENSITIVEであるResultSetインスタンスの数