Hitachi

ノンストップデータベース HiRDB Version 10 システム導入・設計ガイド(UNIX(R)用)


17.2.2 ユティリティが使用する作業表用ファイルの容量

インデクスの一括作成,インデクスの再作成,インデクスの再編成,又はリバランスユティリティでデータの再配置をする場合は,次に示す計算式の分の作業表用ファイルが必要になります。

計算式
ユティリティが使用する作業表用ファイルの容量(単位:バイト)={(A+B)×2×D }÷C

A:インデクス作成時に必要な作業表の行数1

B:インデクス作成時に必要な作業表の行数2

C:作業表ページ内の行数

D:作業表ページ長

  • 1回のユティリティで複数のインデクスの一括作成又は再作成をする場合は,インデクスのキー長が最も長いインデクスについて求めてください。

  • インデクスの一括作成又は再作成を同時に実行する場合は,それぞれで必要な作業表用ファイルの容量を求めて加算してください。

  • 複数のユティリティを同時実行する場合は,各ユティリティが使用する作業表用ファイルの容量を計算して合計してください。

〈この項の構成〉

(1) インデクス作成時に必要な作業表の行数1の求め方

インデクス作成時に必要な作業表の行数1は,次に示す計算式で求めます。

計算式
作業表の行数1=↑c÷{↓↑a×(100−b)×0.01↑÷(d+22)↓}↑

a:インデクスを格納するユーザ用RDエリアのページサイズ

b:CREATE INDEXのPCTFREEオペランドで指定する未使用領域の比率

c:データ件数

繰返し列に対するインデクスの場合は,インデクス構成列のうち一つの繰返し列の各行の要素数の合計

d:インデクスのキー長

インデクスのキー長については表「インデクスのキー長一覧」を参照してください。なお,データベースに格納されるキー長は4バイトバウンダリされるため,↑キー長÷4↑×4となります。

複数インデクスのキー長は,表「インデクスのキー長一覧」を基に全構成列のキー長を加算してください。

(2) インデクス作成時に必要な作業表の行数2の求め方

インデクス作成時に必要な作業表の行数2は,次に示す計算式で求めます。

計算式
作業表の行数2=↑c÷{↓↑a×(100−b)×0.01↑÷(d+14)↓}↑

a:インデクスを格納するユーザ用RDエリアのページサイズ

b:CREATE INDEXのPCTFREEオペランドで指定する未使用領域の比率

c:インデクス作成時に必要な作業表の行数1

(1)で求めた値を代入してください。

d:インデクスのキー長

インデクスのキー長については表「インデクスのキー長一覧」を参照してください。なお,データベースに格納されるキー長は4バイトバウンダリされるため,↑キー長÷4↑×4となります。

複数インデクスのキー長は,表「インデクスのキー長一覧」を基に全構成列のキー長を加算してください。

(3) 作業表ページ内の行数の求め方

作業表ページ内の行数は,次に示す計算式で求めます。

計算式
作業表ページ内の行数=MIN{↓(b−48)÷a↓ ,255 }
a:作業表の行長(インデクスのキー長+18)

インデクスのキー長については表「インデクスのキー長一覧」を参照してください。キー長は↑キー長÷4↑×4となります。

複数インデクスのキー長は,表「インデクスのキー長一覧」を基に全構成列のキー長を加算してください。

b:作業表ページ長

(4)で求めてください。

(4) 作業表ページ長の求め方

作業表ページ長は,次に示す計算式で求めます。

計算式
作業表ページ長=MAX{↑(作業表の行長+48)÷2048↑×2048 ,4096 }

注※ 作業表ページ長は,32,768バイト以下でなければなりません。

a:作業表の行長(インデクスのキー長+18)

インデクスのキー長については表「インデクスのキー長一覧」を参照してください。キー長は↑キー長÷4↑×4となります。

複数インデクスのキー長は,表「インデクスのキー長一覧」を基に全構成列のキー長を加算してください。