ページの先頭行へ戻る
Symfoware Server V12.2.0 RDB運用ガイド(データベース定義編)
FUJITSU Software

4.1.5 ページ長の選択基準

ページとは、Symfoware/RDBがデータベースに対してI/Oを行うときの単位です。また、動作環境ファイルの実行パラメタDSO_LOCKにページ排他を指定せず、R_LOCKにNOを指定した場合は、ページがロックの単位となります。ページのサイズは1、2、4、8、16、32キロバイトの6種類からDSI単位に選択できます。指定できるページサイズは、格納構造ごとに異なります。以下に格納構造ごとのページ長設定の注意事項を示します。

構造

ページサイズの注意事項

SEQUENTIAL

表の1行に対応するデータを1ページに収めます。ただし、BLOB型のデータは除きます。

RANDOM

表の1行に対応するデータを1ページに収めます。

平均入出力回数(ページ内のデータ数に依存)を考慮して、プライム部のページ長を設定する必要があります。

OBJECT

ページ長には必ず32を指定します。

表の1行に対応するデータを1ページに収めます。

BTREE

インデックスのキーと実表データとの対応情報の組の値を、インデックス部およびデータ部の1ページに2件以上収めます。ページの使用率を高めるためには、余裕をもったページ長の指定が必要です。

ページスプリットの頻発は処理効率悪化となることから、データの追加が多いような場合、データ部のページ内に収まるデータ数が多くなるように考慮する必要があります。
ページスプリットとは、データ部のページにデータが収まらなくなり、新しいページを切りだし、そのページと元のページとの間でデータを分配して格納する現象です。
インデックスは、表より小さなページサイズを目安に選択します。

適切にページ長を設定することにより、柔軟な業務が適用できる反面、いくつのページサイズが最適なのか迷うこともあります。主な選択基準は以下の通りですが、一概に判断することは困難です。

要素

ページ長
1K            32K

説明

I/O効率

悪い ←---→ 良い

参照系主体の場合は大きい方が適している。

格納効率
ヒット率

低い ←---→ 高い

同一ページ内アクセス時は大きい方が有利になる。

排他競合

少ない ←-→ 多い

ページ排他では、以下のことがいえる。

参照系主体の場合、大きい方が適している

競合が多い場合、小さい方が適している

行排他では競合が行となるためページ長に依存しない。トータル的に大きい方が適している。

一般的にページサイズが大きいほどI/O効率が良く、ページサイズが小さいほど、排他待ちの発生は少なくなります。

ページ長を決定する場合は、選択した格納構造、格納効率、インデックスの高さ、共用バッファのチューニングとの関係、データベースのアクセス方式、ロック単位、およびトランザクションモード(独立性水準)を総合的に評価し、その表、そのインデックスにあった長さを採用してください。しかし、多くの場合、これらの要素をすべて考えたうえで決めることはまれであり、まず、以下の観点から簡単に決められます。

資源

運用形態表

設定の目安

表(注1)

参照系主体

16KB~32KB

更新系主体

4KB~8KB

参照・更新同程度

8KB~16KB

インデックス(注2)

参照系主体

BASE部:16KB~32KB
INDEX部:8KB~16KB

更新系主体

BASE部:8KB~16KB
INDEX部:4KB~8KB

参照・更新同程度

BASE部:8KB~16KB
INDEX部:4KB~8KB

注1) 表の1行に対応するデータを、1ページ内に収めます。ただし、BLOBは除きます。

注2) インデックスのキーと実表を示す情報の組の値を、1ページに2件以上収めます。

備考. 排他の単位がページロックの場合です。