ページの先頭行へ戻る
Symfoware Server V10.1.0 解説書

3.4.2 格納構造の種類

格納構造には、SEQUENTIAL構造、RANDOM構造、OBJECT構造およびBTREE構造があります。SEQUENTIAL構造、RANDOM構造およびOBJECT構造は、表に対する格納構造として使用します。

BTREE構造は、インデックスに対する格納構造として使用します。

以下に、実表とインデックスの格納構造について、説明します。

3.4.2.1 実表の格納構造

実表の格納構造は、データベースのアクセスの特性から、以下の格納構造のうち、どれか1つを選択できます。

選択は格納構造定義で行います。

実表の格納構造の概要と種類について、以下に示します。

図3.7 実表の格納構造の概要と種類

SEQUENTIAL構造

SEQUENTIAL構造は、データをその挿入順に格納する構造です。格納されたデータを単純に格納順に取り出したり、条件を満たすデータの集合を取り出したりすることができます。データを挿入順に格納するため、データの格納効率がよくディスクボリュームの省スペース化が図れます。

RANDOM構造

RANDOM構造は、データに対して、そのキーとなる列の組の値から格納するページ(これをバケットと呼びます)を計算し、格納する構造です。RANDOM構造は、データ操作のキーとなる列の値から、ページの番地にハッシュ関数を利用して求めるような索引手法を特徴としています。これをハッシュ構造の索引手法と呼びます。ハッシュ構造は、BTREE構造と異なり、索引としてのデータ実体は存在しません。そのため、大容量のデータベースの場合でも、高速で安定したアクセス性能が期待できます。

OBJECT構造

OBJECT構造は、写真などのBLOB型データをその挿入順に格納する構造です。OBJECT構造は、31キロバイトを超えるBLOB型のデータを格納する専用の構造です。

3.4.2.2 インデックスの格納構造

インデックスは、表の主キーだけではデータ操作を効率よく行えない場合、利用者が意図的に設定できる索引ファイルです。Symfoware Serverは、このインデックスをBTREE構造の索引手法で実現します。インデックスは、実表の格納構造の種類とは関係なく、どの格納構造にも設定することができ、データの検索条件に応じて、1つの実表に複数設定することができます。

インデックスの設定が効果的なデータ操作の例について、以下に示します。この例では、分かりやすくするために単一行SELECT文の例で説明しています。

図3.8 インデックスの設定が効果的なデータ操作の例