Symfoware Parallel Server RDBユーザーズガイド データベース定義編 |
目次
索引
![]() ![]() |
第4章 格納構造 | > 4.2 インデックスの格納構造の特徴 |
HASH構造は、表の格納構造がSTRIPE構造の場合のインデックスに対する格納構造です。内部的には、BTREE構造と同様に、木構造のインデックス部とデータ部からなっています。インデックス部は、インデックスのキーと実表データとの対応情報の組の値からなっており、データを格納するページを管理します。インデックス部に対して、データを格納するページからなる部分を、“データ部”と呼びます。
データ部のあるページにデータが収まらない場合は、Symfoware/RDBが新しいページを切り出し、そのページと元のページとの間でデータを分配して格納します(これをぺージスプリットと呼びます)。データ部のぺージスプリットにともなって、インデックス部のページスプリットが行われる場合があります。
DSO定義のベース表現としてADDRESSが指定されるため、実表データとの対応情報として表のレコードの格納アドレスが使用されます。インデックスのレコードが格納されるデータベーススペースは、インデックスのキー値をハッシュすることにより一意に決定します。
図:データの格納方法の概略にデータの格納方法の概略を示します。
HASH構造では、データに対して、そのキー値からインデックスが格納されているセグメントを決定できます。すべてのインデックスを検索することなく、一つのセグメントだけを決定することができるので、アクセス対象のレコードを決定する場合に高速に処理できます。また、一意性制約の保証も高速に処理できます。
HASH構造では、インデックス部とデータ部に対して、それぞれのページ長を独立に指定できます。データ部のページ長はDSO定義のPAGESIZE1オプションで指定します。インデックス部のページ長はPAGESIZE2オプションで指定します。
ページ長の指定の際の考慮点には、以下のものがあります。
インデックスのキーと実表データとの対応情報の組の値が、インデックス部およびデータ部の1ページに2件収まる必要があります。
インデックス部およびデータ部に収まるデータ量が少ない場合には、ぺージの使用率(データの格納率)が悪くなります。したがって、ページの使用率を高めるためには、余裕をもったページ長の指定が必要です。
データ部のページ内に収まるデータの最大数は、ぺージスプリットの契機を考慮して設定する必要があります。ぺージスプリットが頻発すると処理効率が悪くなります。
目次
索引
![]() ![]() |