Symfoware Server RDB運用ガイド(データベース定義編) - FUJITSU -
目次 索引 前ページ次ページ

第4章 格納構造> 4.2 インデックスの格納構造の特徴

4.2.1 BTREE構造

BTREE構造は、インデックスに対する格納構造です。内部的には、木構造のインデックス部とデータ部からなっています。インデックスは、インデックスのキーと実表データとの対応情報の組の値からなっており、データを格納するページを管理します。インデックス部に対して、データを格納するページからなる部分を、“データ”と呼びます。

DSO定義のベース表現としてADDRESSが指定された場合は、実表データとの対応情報として表のレコードの格納アドレスが使用され、KEYが指定された場合は、クラスタキーが使用されます。

データ部のあるページにデータが収まらない場合は、Symfoware/RDBが新しいページを切りだし、そのページと元のページとの間でデータを分配して格納します(これをページスプリッと呼びます)。データ部のページスプリットにともなって、インデックス部のページスプリットが行われる場合があります。

インデックスのキーが一意キーでない場合には、1つのインデックスキーの値に対して複数の実表データとの対応情報の値が存在することがあります。また、その重複度(実表データとの対応情報の数)もインデックスのキーの値に依存し一定ではありません。そのため、BTREE構造では、インデックスのキーと実表データとの対応情報を組にして管理します。このキーの組に対して昇順を保証します。さらに、格納効率を良くするため、インデックスのキーの部分を前方圧縮します。

以下に在庫表を例にとってBTREE構造の概略を示します。この例では、倉庫番号の列の上にインデックスが定義され、また表の格納構造はSEQUENTIAL構造であるとします。

[図:BTREE構造の概略]

■データ処理のパターンに対するBTREE構造の特

データの処理の効率に一番影響のある要因は入出力回数です。BTREE構造の場合は以下の特徴があります。

■BTREE構造のページ長の指

BTREE構造では、インデックス部とデータ部に対して、それぞれのページ長を独立に指定できます。データ部のページ長はDSO定義のPAGESIZE1オプションで指定します。インデックス部のページ長はPAGESIZE2オプションで指定します。

ページの指定の際の考慮点には、以下のものがあります。

■インデックスの付加の際の考慮

インデックスは、1つの実表に対して複数付加することができます。検索の場合には、インデックスの付加によって処理効率を上げることができます。しかし、以下のような場合には、関連するすべてのインデックスのアップグレード処理が行われるため、全体としての処理効率が低下することがあるので注意が必要です。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006