JP2734023B2 - 索引検索方式 - Google Patents
索引検索方式Info
- Publication number
- JP2734023B2 JP2734023B2 JP63284181A JP28418188A JP2734023B2 JP 2734023 B2 JP2734023 B2 JP 2734023B2 JP 63284181 A JP63284181 A JP 63284181A JP 28418188 A JP28418188 A JP 28418188A JP 2734023 B2 JP2734023 B2 JP 2734023B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- key value
- pointer information
- lowest
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は索引ファイルを用いたデータレコード検索シ
ステムにおける索引検索方式に関するものである。
ステムにおける索引検索方式に関するものである。
多数のデータレコードを検納しているデータファイル
から所望のデータレコードを検索する場合の方式とし
て、予めデータファイルに対し、データレコード内のキ
ー値とそのデータレコードの格納アドレスを示すポイン
タ情報とから構成される索引レコードをキー値順に並べ
て格納した索引ファイルを作成しておき、入力された検
索条件に従って索引ファイルの検索を行い、索引レコー
ドからポインタ情報を得、このポインタ情報に使ってデ
ータファイルの実際のデータレコードにアクセスする方
式が一般的に用いられている。
から所望のデータレコードを検索する場合の方式とし
て、予めデータファイルに対し、データレコード内のキ
ー値とそのデータレコードの格納アドレスを示すポイン
タ情報とから構成される索引レコードをキー値順に並べ
て格納した索引ファイルを作成しておき、入力された検
索条件に従って索引ファイルの検索を行い、索引レコー
ドからポインタ情報を得、このポインタ情報に使ってデ
ータファイルの実際のデータレコードにアクセスする方
式が一般的に用いられている。
第3図は従来の索引検索方式の構成図を示したもので
あり、1が上述した索引ファイルである。索引ファイル
1は複数のブロックから構成され、最上位,上位,最下
位というようにブロックが階層的に配置されている。第
2図は索引ファイルの例を示したものであり、この例で
は、管理情報101と、最上位のブロック(最上位ブロッ
ク)102と、上位のブロック(上位ブロック)103〜105
と、最下位のブロック(最下位ブロック)106〜111とか
ら構成されている。なお、第2図において、矢印を伴っ
た実線は次方向(NEXT)ポインタによる理論的なリンク
を、破線は前方向(PRIOR)ポインタによる理論的なリ
ンクを、二重線は下位のブロックへのポインタによる理
論的なリンクをそれぞれ示している。すなわち、この例
では、データレコード内のキー値として“3"〜“77"ま
でを扱っており、各々のキー値とそのキー値に対応する
データレコードの格納アドレスを示すポインタ情報(P0
1〜P04)とから構成される索引レコードがキー値の大小
の順に最下位ブロック106〜111に格納され、上位ブロッ
ク103〜105は最下位ブロック106〜111のそれぞれに格納
された最大のキー値と各最下位ブロックへのポインタと
を管理し、最上位ブロック102は上位ブロック103〜105
のそれぞれで管理している最大のキー値と各上位ブロッ
クへのポインタとを更に管理している。
あり、1が上述した索引ファイルである。索引ファイル
1は複数のブロックから構成され、最上位,上位,最下
位というようにブロックが階層的に配置されている。第
2図は索引ファイルの例を示したものであり、この例で
は、管理情報101と、最上位のブロック(最上位ブロッ
ク)102と、上位のブロック(上位ブロック)103〜105
と、最下位のブロック(最下位ブロック)106〜111とか
ら構成されている。なお、第2図において、矢印を伴っ
た実線は次方向(NEXT)ポインタによる理論的なリンク
を、破線は前方向(PRIOR)ポインタによる理論的なリ
ンクを、二重線は下位のブロックへのポインタによる理
論的なリンクをそれぞれ示している。すなわち、この例
では、データレコード内のキー値として“3"〜“77"ま
でを扱っており、各々のキー値とそのキー値に対応する
データレコードの格納アドレスを示すポインタ情報(P0
1〜P04)とから構成される索引レコードがキー値の大小
の順に最下位ブロック106〜111に格納され、上位ブロッ
ク103〜105は最下位ブロック106〜111のそれぞれに格納
された最大のキー値と各最下位ブロックへのポインタと
を管理し、最上位ブロック102は上位ブロック103〜105
のそれぞれで管理している最大のキー値と各上位ブロッ
クへのポインタとを更に管理している。
以下、第3図に示した従来の索引検索方式の動作を、
第2図の索引ファイルの例を用いて説明する。なお、第
3図において、矢印を伴って実線は制御の流れを、破線
はデータの流れをそれぞれ示している。
第2図の索引ファイルの例を用いて説明する。なお、第
3図において、矢印を伴って実線は制御の流れを、破線
はデータの流れをそれぞれ示している。
先ず、検索条件入力手段2によって検索条件(例えば
24≦X≦45)が入力されると、検索条件解析手段3が解
析を行い、解析結果として開始キー値(“24")と終了
キー値(“45")とを解析結果記憶手段4に記憶する。
24≦X≦45)が入力されると、検索条件解析手段3が解
析を行い、解析結果として開始キー値(“24")と終了
キー値(“45")とを解析結果記憶手段4に記憶する。
次いで、開始ブロック取得手段5は解析結果記憶手段
4に記憶されている開始キー値(“24")を用いて、索
引ファイル1内を検索するように索引検索手段6に対し
て指示する。
4に記憶されている開始キー値(“24")を用いて、索
引ファイル1内を検索するように索引検索手段6に対し
て指示する。
索引検索手段6は索引ファイル1の管理情報101から
各ブロックのポインタをたどり、開始キー値(“24")
を範囲内に含む最下位ブロック(108)を検索し、読み
込んだ最下位ブロック(108)を開始ブロック取得手段
5に渡す。
各ブロックのポインタをたどり、開始キー値(“24")
を範囲内に含む最下位ブロック(108)を検索し、読み
込んだ最下位ブロック(108)を開始ブロック取得手段
5に渡す。
次いで、終了ブロック判定手段9は解析結果記憶手段
4に記憶されている終了キー値(“45")を用い、開始
ブロック取得手段5が得た最下位ブロック(108)内に
終了キー値(“45")が含まれているか否かを判定す
る。括弧内に記載した例の場合、終了ブロック判定手段
9は含まれていないと判定し、処理をポインタ情報取得
手段13に移す。
4に記憶されている終了キー値(“45")を用い、開始
ブロック取得手段5が得た最下位ブロック(108)内に
終了キー値(“45")が含まれているか否かを判定す
る。括弧内に記載した例の場合、終了ブロック判定手段
9は含まれていないと判定し、処理をポインタ情報取得
手段13に移す。
次いで、ポインタ情報取得手段13はその最下位ブロッ
ク(108)から必要なポインタ情報、すなわち開始キー
値(“24")以上のキー値(“25")に対するポインタ情
報(P07)を取得してポインタ情報記憶手段(1)に記
憶する。
ク(108)から必要なポインタ情報、すなわち開始キー
値(“24")以上のキー値(“25")に対するポインタ情
報(P07)を取得してポインタ情報記憶手段(1)に記
憶する。
次いで、次処理ブロック取得手段14はその最下位ブロ
ック(108)の次方向ポインタから次に処理すべき最下
位ブロック(109)を決定し、次処理ブロック読み込み
手段16に対してその最下位ブロック(109)の読み込み
指示を行う。
ック(108)の次方向ポインタから次に処理すべき最下
位ブロック(109)を決定し、次処理ブロック読み込み
手段16に対してその最下位ブロック(109)の読み込み
指示を行う。
次処理ブロック読み込み手段16は索引ファイル1に対
して指示された最下位ブロック(109)の読み込み動作
を行い、次処理ブロック取得手段14は次に処理すべき最
下位ブロック(109)を得る。
して指示された最下位ブロック(109)の読み込み動作
を行い、次処理ブロック取得手段14は次に処理すべき最
下位ブロック(109)を得る。
次いで、終了ブロック判定手段9は再び解析結果記憶
手段4に記憶されている終了キー値(“45")を用いて
次処理ブロック取得手段14が得た最下位ブロック(10
9)内に終了キー値(“45")が含まれているか否かを判
定する。括弧内に記載した例の場合、終了ブロック判定
手段9は再び含まれていないと判定し、処理をポインタ
情報取得手段13に移す。
手段4に記憶されている終了キー値(“45")を用いて
次処理ブロック取得手段14が得た最下位ブロック(10
9)内に終了キー値(“45")が含まれているか否かを判
定する。括弧内に記載した例の場合、終了ブロック判定
手段9は再び含まれていないと判定し、処理をポインタ
情報取得手段13に移す。
次いで、ポインタ情報取得手段13はその最下位ブロッ
ク(109)から必要なポインタ情報、すなわち全てのキ
ー値(“31",“36")に対するポインタ情報(P08,P09)
を取得してポインタ情報記憶手段11に記憶する。
ク(109)から必要なポインタ情報、すなわち全てのキ
ー値(“31",“36")に対するポインタ情報(P08,P09)
を取得してポインタ情報記憶手段11に記憶する。
次いで、次処理ブロック取得手段14はその最下位ブロ
ック(109)の次方向ポインタから次に処理すべき最下
位ブロック(110)を決定し、次処理ブロック読み込み
手段16に対してその最下位ブロック(110)の読み込み
指示を行う。
ック(109)の次方向ポインタから次に処理すべき最下
位ブロック(110)を決定し、次処理ブロック読み込み
手段16に対してその最下位ブロック(110)の読み込み
指示を行う。
次処理ブロック読み込み手段16は索引ファイル1に対
して指示された最下位ブロック(110)の読み込み動作
を行い、次処理ブロック取得手段14を次に処理すべき最
下位ブロック(110)を得る。
して指示された最下位ブロック(110)の読み込み動作
を行い、次処理ブロック取得手段14を次に処理すべき最
下位ブロック(110)を得る。
次いで、終了ブロック判定手段9は再び解析結果記憶
手段4に記憶されている終了キー値(“45")を用いて
次処理ブロック取得手段4が得た最下位ブロック(11
0)内に終了キー値(“45")が含まれているか否かを判
定する。括弧内に記載した例の場合、終了ブロック判定
手段9は含まれていると判定する。
手段4に記憶されている終了キー値(“45")を用いて
次処理ブロック取得手段4が得た最下位ブロック(11
0)内に終了キー値(“45")が含まれているか否かを判
定する。括弧内に記載した例の場合、終了ブロック判定
手段9は含まれていると判定する。
終了ブロック判定手段9が終了キー値が含まれている
と判定すると、制御はポインタ情報取得手段10に移り、
ポインタ情報取得手段10は取得した最下位ブロック(11
0)内の必要なポインタ情報、すなわち終了キー値(“4
5")以下のキー値(“40")に対するポインタ情報(P1
0)を取得し、ポインタ情報記憶手段11に記憶する。
と判定すると、制御はポインタ情報取得手段10に移り、
ポインタ情報取得手段10は取得した最下位ブロック(11
0)内の必要なポインタ情報、すなわち終了キー値(“4
5")以下のキー値(“40")に対するポインタ情報(P1
0)を取得し、ポインタ情報記憶手段11に記憶する。
しかして、上述の動作により得られ、ポインタ情報記
憶手段11に記憶されたポインタ情報(P7〜P10)を用い
てデータファイル(図示せず)に対してアクセスするこ
とにより、検索条件(24≦X≦45)を満たすデータレコ
ードを得ることができる。
憶手段11に記憶されたポインタ情報(P7〜P10)を用い
てデータファイル(図示せず)に対してアクセスするこ
とにより、検索条件(24≦X≦45)を満たすデータレコ
ードを得ることができる。
従来の索引検索方式は上述したように構成され動作す
るものであり、データファイルに対して直接に検索を行
う場合に比して非常に効率よく検索が行えるものであっ
たが、索引ファイル1の最下位ブロックを読み込む処理
と、最下位ブロック内の索引レコードからデータレコー
ドを指すポインタ情報を取り出す処理とを順次に行って
いたため、処理時間の短縮化が困難であり、時間的な処
理効率が上がらないという欠点があった。例えば、最下
位ブロックを読み込む処理時間をTiとし、ポインタ情報
を取り出す処理時間をTpとすると、他の処理時間を無視
すると、合計してTi+Tpの処理時間を要するものであ
り、これ以下には短縮できないものであった。
るものであり、データファイルに対して直接に検索を行
う場合に比して非常に効率よく検索が行えるものであっ
たが、索引ファイル1の最下位ブロックを読み込む処理
と、最下位ブロック内の索引レコードからデータレコー
ドを指すポインタ情報を取り出す処理とを順次に行って
いたため、処理時間の短縮化が困難であり、時間的な処
理効率が上がらないという欠点があった。例えば、最下
位ブロックを読み込む処理時間をTiとし、ポインタ情報
を取り出す処理時間をTpとすると、他の処理時間を無視
すると、合計してTi+Tpの処理時間を要するものであ
り、これ以下には短縮できないものであった。
本発明は上記の点に鑑み提案されたものであり、その
目的とするところは、最下位ブロックを読み込む処理と
ポインタ情報を取り出す処理とを並列動作させることに
より、処理時間を短縮することのできる索引検索方式を
提供することにある。
目的とするところは、最下位ブロックを読み込む処理と
ポインタ情報を取り出す処理とを並列動作させることに
より、処理時間を短縮することのできる索引検索方式を
提供することにある。
本発明は上記の目的を達成するため、入力した検索条
件から検索の開始キー値と終了キー値とを解析し、階層
的な複数のブロックから構成される索引ファイルから前
記開始キー値を含む最下位ブロックを検索して読み込
み、前記開始キー値から前記終了キー値までのキー値に
対応するデータレコードのポインタ情報を得、前記終了
キー値を含む最下位ブロックまで順次読み込みを行って
ポインタ情報の取得を繰り返す索引検索方式において、 前記の読み込んだ最下位ブロックに終了キー値が含ま
れているか否かの判断処理おび最下位ブロックからポイ
ンタ情報を得る処理と並行して次に必要となる複数の最
下位ブロックの読み込みを行わせるブロック先読み一括
要求手段と、 要求した複数の最下位ブロックが読み込まれるまで処
理を待ち合わせると共に、未処理の最下位ブロックを保
持する読み込み完了待ち合わせ手段とを備えるようにし
ている。
件から検索の開始キー値と終了キー値とを解析し、階層
的な複数のブロックから構成される索引ファイルから前
記開始キー値を含む最下位ブロックを検索して読み込
み、前記開始キー値から前記終了キー値までのキー値に
対応するデータレコードのポインタ情報を得、前記終了
キー値を含む最下位ブロックまで順次読み込みを行って
ポインタ情報の取得を繰り返す索引検索方式において、 前記の読み込んだ最下位ブロックに終了キー値が含ま
れているか否かの判断処理おび最下位ブロックからポイ
ンタ情報を得る処理と並行して次に必要となる複数の最
下位ブロックの読み込みを行わせるブロック先読み一括
要求手段と、 要求した複数の最下位ブロックが読み込まれるまで処
理を待ち合わせると共に、未処理の最下位ブロックを保
持する読み込み完了待ち合わせ手段とを備えるようにし
ている。
本発明の索引検索方式にあっては、入力した検索条件
から検索の開始キー値と終了キー値とを解析し、階層的
な複数のブロックから構成される索引ファイルから前記
開始キー値を含む最下位ブロックを検索して読み込み、
前記開始キー値から前記終了キー値までのキー値に対応
するデータレコードのポインタ情報を得、前記終了キー
値を含む最下位ブロックまで順次読み込みを行ってポイ
ンタ情報の取得を繰り返すという基本的な動作を加え、
前記の読み込んだ最下位ブロックに終了キー値が含まれ
ているか否かの判断処理および最下位ブロックからポイ
ンタ情報を得る処理と並行して、次に必要となる複数の
最下位ブロックの読み込みの要求ブロック先読み一括要
求手段により行われ、読み込み完了待ち合わせ手段によ
り、要求した複数の最下位ブロックが読み込まれるまで
処理が待ち合わされると共に未処理の最下位ブロックが
保持される。
から検索の開始キー値と終了キー値とを解析し、階層的
な複数のブロックから構成される索引ファイルから前記
開始キー値を含む最下位ブロックを検索して読み込み、
前記開始キー値から前記終了キー値までのキー値に対応
するデータレコードのポインタ情報を得、前記終了キー
値を含む最下位ブロックまで順次読み込みを行ってポイ
ンタ情報の取得を繰り返すという基本的な動作を加え、
前記の読み込んだ最下位ブロックに終了キー値が含まれ
ているか否かの判断処理および最下位ブロックからポイ
ンタ情報を得る処理と並行して、次に必要となる複数の
最下位ブロックの読み込みの要求ブロック先読み一括要
求手段により行われ、読み込み完了待ち合わせ手段によ
り、要求した複数の最下位ブロックが読み込まれるまで
処理が待ち合わされると共に未処理の最下位ブロックが
保持される。
以下、本発明の実施例につき図面を参照して説明す
る。
る。
第1図は本発明の索引検索方式の一実施例を示す構成
図であり、本実施例は、索引ファイル1と、検索条件入
力手段2と、検索条件解析手段3と、解析結果記憶手段
4と、開始ブロック取得手段5と、索引検索手段6と、
処理ブロック一括決定手段7と、ブロック先読み一括要
求手段8と、終了ブロック判定手段9と、ポインタ情報
取得手段10と、ポインタ情報記憶手段11と、最終先読み
ブロック判定手段12と、ポインタ情報取得手段13と、次
処理ブロック取得手段14と、読み込み完了待ち合わせ手
段15とから構成されている。第3図に示した従来例と異
なる構成は、処理ブロック一括決定手段7,ブロック先読
み一括要求手段8,最終先読みブロック判定手段12,読み
込み完了待ち合わせ手段15である。
図であり、本実施例は、索引ファイル1と、検索条件入
力手段2と、検索条件解析手段3と、解析結果記憶手段
4と、開始ブロック取得手段5と、索引検索手段6と、
処理ブロック一括決定手段7と、ブロック先読み一括要
求手段8と、終了ブロック判定手段9と、ポインタ情報
取得手段10と、ポインタ情報記憶手段11と、最終先読み
ブロック判定手段12と、ポインタ情報取得手段13と、次
処理ブロック取得手段14と、読み込み完了待ち合わせ手
段15とから構成されている。第3図に示した従来例と異
なる構成は、処理ブロック一括決定手段7,ブロック先読
み一括要求手段8,最終先読みブロック判定手段12,読み
込み完了待ち合わせ手段15である。
なお、各手段の機能は次の通りである。
索引ファイル1;複数のブロックから構成され、最上位,
上位,最下位というようにブロックが階層的に配置さ
れ、最下位のブロック(最下位ブロック)に、データレ
コード内のキー値とそのデータレコードの格納アドレス
を示すポインタ情報とから構成される索引レコードをキ
ー値順に並べて格納・保持する機能。
上位,最下位というようにブロックが階層的に配置さ
れ、最下位のブロック(最下位ブロック)に、データレ
コード内のキー値とそのデータレコードの格納アドレス
を示すポインタ情報とから構成される索引レコードをキ
ー値順に並べて格納・保持する機能。
検索条件入力手段2;検索条件を入力する機能。
検索条件解析手段3;入力された検索条件を解析し、開始
キー値と終了キー値とを得る機能。
キー値と終了キー値とを得る機能。
解析結果記憶手段4;検索条件解析手段3の解析結果であ
る開始キー値と終了キー値を記憶する機能。
る開始キー値と終了キー値を記憶する機能。
開始ブロック取得手段5;解析結果記憶手段4に記憶され
た開始キー値を用い、索引検索手段6を起動して索引フ
ァイル1から開始キー値を格納されている最下位ブロッ
クを取得する機能。
た開始キー値を用い、索引検索手段6を起動して索引フ
ァイル1から開始キー値を格納されている最下位ブロッ
クを取得する機能。
索引検索手段6;開始ブロック取得手段5による開始ブロ
ック検索指示によって索引ファイル1から開始キー値が
格納されている最下位ブロックを検索する機能。
ック検索指示によって索引ファイル1から開始キー値が
格納されている最下位ブロックを検索する機能。
処理ブロック一括決定手段7;開始ブロック取得手段5の
処理の後もしくは最終先読みブロック判定手段12から指
示を受けた後、開始ブロック取得手段5もしくは次処理
ブロック取得手段14によって取得された最下位ブロック
に対する上位のブロックから次に必要とする複数のブロ
ックを決定する機能。
処理の後もしくは最終先読みブロック判定手段12から指
示を受けた後、開始ブロック取得手段5もしくは次処理
ブロック取得手段14によって取得された最下位ブロック
に対する上位のブロックから次に必要とする複数のブロ
ックを決定する機能。
ブロック先読み一括要求手段8;処理ブロック一括決定手
段7で決定した複数のブロックについて索引ファイル1
に対して読み込みの要求(要求のみを行い、読み込みの
完了を待たない。)を行う機能。
段7で決定した複数のブロックについて索引ファイル1
に対して読み込みの要求(要求のみを行い、読み込みの
完了を待たない。)を行う機能。
終了ブロック判定手段9;開始ブロック取得手段5もしく
は次処理ブロック取得手段14により取得した索引ファイ
ル1の最下位ブロックに解析結果記憶手段4に記憶され
た終了キー値が含まれているか否かを判定する機能。
は次処理ブロック取得手段14により取得した索引ファイ
ル1の最下位ブロックに解析結果記憶手段4に記憶され
た終了キー値が含まれているか否かを判定する機能。
ポインタ情報取得手段10;終了ブロック判定手段9で終
了キー値が含まれていると判定された場合に、その最下
位ブロックから必要なポインタ情報を取得してポインタ
情報記憶手段11に記憶させる機能。
了キー値が含まれていると判定された場合に、その最下
位ブロックから必要なポインタ情報を取得してポインタ
情報記憶手段11に記憶させる機能。
ポインタ情報記憶手段11;解析結果記憶手段4に記憶さ
れた開始キー値から終了キー値までの範囲に属する索引
レコードのポインタ情報を記憶する機能。
れた開始キー値から終了キー値までの範囲に属する索引
レコードのポインタ情報を記憶する機能。
最終先読みブロック判定手段12;終了ブロック判定手段
9で終了キー値が含まれていないと判定された場合に、
その最下位ブロックがブロック先読み一括要求手段8で
読み込みを要求した最終のブロックであるか否かを判定
し、最終のブロックである場合には処理ブロック一括決
定手段7に新たな読み込みを指示する機能。
9で終了キー値が含まれていないと判定された場合に、
その最下位ブロックがブロック先読み一括要求手段8で
読み込みを要求した最終のブロックであるか否かを判定
し、最終のブロックである場合には処理ブロック一括決
定手段7に新たな読み込みを指示する機能。
ポインタ情報取得手段13;終了ブロック判定手段9で最
下位ブロックに終了キー値が含まれていないと判定され
た場合に、その最下位ブロックから必要なポインタ情報
を取得してポインタ情報記憶手段11に記憶させる機能。
下位ブロックに終了キー値が含まれていないと判定され
た場合に、その最下位ブロックから必要なポインタ情報
を取得してポインタ情報記憶手段11に記憶させる機能。
次処理ブロック取得手段14;次に処理する最下位ブロッ
クを読み込み完了待ち合わせ手段15から得る機能。
クを読み込み完了待ち合わせ手段15から得る機能。
読み込み完了待ち合わせ手段15;ブロック先読み一括要
求手段8で要求した複数の最下位ブロックが読み込まれ
るまで処理を待ち合わせると共に、未処理の最下位ブロ
ックを保持し、次処理ブロック取得手段14に読み込んだ
最下位ブロックを渡す機能。
求手段8で要求した複数の最下位ブロックが読み込まれ
るまで処理を待ち合わせると共に、未処理の最下位ブロ
ックを保持し、次処理ブロック取得手段14に読み込んだ
最下位ブロックを渡す機能。
以下、従来例の説明でも使用した第2図の索引ファイ
ルの例を用いて、上記の実施例の動作を説明する。な
お、第1図において、矢印を伴った実線は制御の流れ
を、破線はデータの流れをそれぞれ示している。
ルの例を用いて、上記の実施例の動作を説明する。な
お、第1図において、矢印を伴った実線は制御の流れ
を、破線はデータの流れをそれぞれ示している。
先ず、検索条件入力手段2によって検索条件(例えば
24≦X≦45)が入力されると、検索条件解析手段3が解
析を行い、解析結果として開始キー値(“24")と終了
キー値(“45")とを解析結果記憶手段4に記憶する。
24≦X≦45)が入力されると、検索条件解析手段3が解
析を行い、解析結果として開始キー値(“24")と終了
キー値(“45")とを解析結果記憶手段4に記憶する。
次いで、開始ブロック取得手段5は解析結果記憶手段
4に記憶されている開始キー値(“24")を用いて、索
引ファイル1内を検索するように索引検索手段6に対し
て指示する。
4に記憶されている開始キー値(“24")を用いて、索
引ファイル1内を検索するように索引検索手段6に対し
て指示する。
索引検索手段6は索引ファイル1の管理情報101から
各ブロックのポインタをたどり、開始キー値(“24")
を範囲内に含む最下位ブロック(108)を検索し、読み
込んだ最下位ブロック(108)を開始ブロック取得手段
5に渡す。
各ブロックのポインタをたどり、開始キー値(“24")
を範囲内に含む最下位ブロック(108)を検索し、読み
込んだ最下位ブロック(108)を開始ブロック取得手段
5に渡す。
次いで、処理ブロック一括決定手段7は読み込んだ最
下位ブロック(108)の上位ブロック(104)と終了キー
値(“45")とを用いて次に必要とする複数のブロック
(109,105)を決定する。
下位ブロック(108)の上位ブロック(104)と終了キー
値(“45")とを用いて次に必要とする複数のブロック
(109,105)を決定する。
次いで、ブロック先読み一括要求手段8は処理ブロッ
ク一括決定手段7で決定したブロック(109,105)に対
して読み込みの要求のみを行い、読み込みの完了は待た
ないでその処理を終了する。
ク一括決定手段7で決定したブロック(109,105)に対
して読み込みの要求のみを行い、読み込みの完了は待た
ないでその処理を終了する。
一方、終了ブロック判定手段9は解析結果記憶手段4
に記憶されている終了キー値(“45")を用い、開始ブ
ロック取得手段5が得た最下位ブロック(108)内に終
了キー値(“45")が含まれているか否かを判定する。
括弧内に記載した例の場合、終了ブロック判定手段9は
含まれれいないと安定し、処理を最終先読みブロック判
定手段12に移す。
に記憶されている終了キー値(“45")を用い、開始ブ
ロック取得手段5が得た最下位ブロック(108)内に終
了キー値(“45")が含まれているか否かを判定する。
括弧内に記載した例の場合、終了ブロック判定手段9は
含まれれいないと安定し、処理を最終先読みブロック判
定手段12に移す。
次いで、最終先読みブロック判定手段12はその最下位
ブロック(108)がブロック先読み一括要求手段8で読
み込みの要求を行った最終の最下位ブロック(109)で
あるか否かを判定する。この場合は最終の最下位ブロッ
クでないと判定する。
ブロック(108)がブロック先読み一括要求手段8で読
み込みの要求を行った最終の最下位ブロック(109)で
あるか否かを判定する。この場合は最終の最下位ブロッ
クでないと判定する。
次いで、ポインタ情報取得手段13は取得された最下位
ブロック(108)から必要なポインタ情報、すなわち開
始キー値(“24")以上のキー値(“25")に対するポイ
ンタ情報(P07)を取得してポインタ情報記憶手段11に
記憶する。
ブロック(108)から必要なポインタ情報、すなわち開
始キー値(“24")以上のキー値(“25")に対するポイ
ンタ情報(P07)を取得してポインタ情報記憶手段11に
記憶する。
次いで、次処理ブロック取得手段14は読み込み完了待
ち合わせ手段15に対してブロック先読み一括要求手段8
が読み込みの要求を行っていたブロック(109)に対す
る読み込みの完了の待ち合わせを行わせ、読み込みが行
われた時点で次に処理すべき最下位ブロック(109)を
得る。
ち合わせ手段15に対してブロック先読み一括要求手段8
が読み込みの要求を行っていたブロック(109)に対す
る読み込みの完了の待ち合わせを行わせ、読み込みが行
われた時点で次に処理すべき最下位ブロック(109)を
得る。
次いで、終了ブロック判定手段9は再び解析結果記憶
手段4に記憶されている終了キー値(“45")を用いて
次処理ブロック取得手段14が得た最下位ブロック(10)
内に終了キー値(“45")が含まれているか否かを判定
する。括弧内に記載した例の場合、終了ブロック判定手
段9は再び含まれていないと判定し、処理を最終先読み
ブロック判定手段12に移す。
手段4に記憶されている終了キー値(“45")を用いて
次処理ブロック取得手段14が得た最下位ブロック(10)
内に終了キー値(“45")が含まれているか否かを判定
する。括弧内に記載した例の場合、終了ブロック判定手
段9は再び含まれていないと判定し、処理を最終先読み
ブロック判定手段12に移す。
次いで、最終先読みブロック判定手段12は取得された
最下位ブロック(109)がブロック先読み一括要求手段
8で読み込みの要求を行った最終の最下位ブロック(1
0)であるか否かを判定する。括弧内の例では最終の最
下位ブロックであると判定し、処理ブロック一括決定手
段7に指示を与え、処理を一時的に移す。
最下位ブロック(109)がブロック先読み一括要求手段
8で読み込みの要求を行った最終の最下位ブロック(1
0)であるか否かを判定する。括弧内の例では最終の最
下位ブロックであると判定し、処理ブロック一括決定手
段7に指示を与え、処理を一時的に移す。
処理ブロック一括決定手段7は読み込んだ待ち合わせ
ている上位ブロック(105)と終了キー値(“45")とを
用いて次に必要とするブロック(110)を決定する。
ている上位ブロック(105)と終了キー値(“45")とを
用いて次に必要とするブロック(110)を決定する。
次いで、ブロック先読み一括要求手段8は処理ブロッ
ク一括決定手段7で決定したブロック(110)に対して
読み込みの要求のみを行い、読み込みの完了は待たない
でその処理を終了する。
ク一括決定手段7で決定したブロック(110)に対して
読み込みの要求のみを行い、読み込みの完了は待たない
でその処理を終了する。
次いで、ポインタ情報取得手段13は現在処理の対象と
なっている最下位ブロック(109)から必要なポインタ
情報、すなわち全てのキー値(“31",“36")に対する
ポインタ情報(P08,P09)を取得してポインタ情報記憶
手段11に記憶する。
なっている最下位ブロック(109)から必要なポインタ
情報、すなわち全てのキー値(“31",“36")に対する
ポインタ情報(P08,P09)を取得してポインタ情報記憶
手段11に記憶する。
次いで、次処理ブロック取得手段14は読み込み完了待
ち合わせ手段15に対してブロック先読み一括要求手段8
が読み込みの要求を行っていたブロック(110)に対す
る読み込みの完了の待ち合わせを行わせ、読み込みが行
われた時点で次に処理すべき最下位ブロック(110)を
得る。
ち合わせ手段15に対してブロック先読み一括要求手段8
が読み込みの要求を行っていたブロック(110)に対す
る読み込みの完了の待ち合わせを行わせ、読み込みが行
われた時点で次に処理すべき最下位ブロック(110)を
得る。
次いで、終了ブロック判定手段9は再び解析結果記憶
手段4に記憶されている終了キー値(“45")を用いて
次処理ブロック取得手段14が得た最下位ブロック(11
0)内に終了キー値(“45")が含まれているか否かを判
定する。括弧内に記載した例の場合、終了ブロック判定
手段9は含まれていると判定する。
手段4に記憶されている終了キー値(“45")を用いて
次処理ブロック取得手段14が得た最下位ブロック(11
0)内に終了キー値(“45")が含まれているか否かを判
定する。括弧内に記載した例の場合、終了ブロック判定
手段9は含まれていると判定する。
終了ブロック判定手段9が終了キー値が含まれている
と判定すると、制御はポインタ情報取得手段10に移り、
ポインタ情報取得手段10は取得した最下位ブロック(11
0)内の必要なポインタ情報、すなわち終了キー値(“4
5")以下のキー値(“40")に対するポインタ情報(P1
0)を取得し、ポインタ情報記憶手段11に記憶する。
と判定すると、制御はポインタ情報取得手段10に移り、
ポインタ情報取得手段10は取得した最下位ブロック(11
0)内の必要なポインタ情報、すなわち終了キー値(“4
5")以下のキー値(“40")に対するポインタ情報(P1
0)を取得し、ポインタ情報記憶手段11に記憶する。
しかして、ポインタ情報取得手段13等の処理は索引フ
ァイル1からブロックを読み込む処理と並列に動作する
こととなり、処理時間の大幅な短縮が可能となる。
ァイル1からブロックを読み込む処理と並列に動作する
こととなり、処理時間の大幅な短縮が可能となる。
なお、上述の動作により得られ、ポインタ情報記憶手
段11に記憶されたポインタ情報(P7〜P10)を用いてデ
ータファイル(図示せず)に対してアクセスすることに
より、検索条件(24≦X≦45)を満たすデータレコード
を得る。
段11に記憶されたポインタ情報(P7〜P10)を用いてデ
ータファイル(図示せず)に対してアクセスすることに
より、検索条件(24≦X≦45)を満たすデータレコード
を得る。
以上説明したように本発明の索引検索方式にあって
は、索引ファイルの最下位ブロックを読み込む処理と、
最下位ブロック内の索引レコードからデータレコードを
指すポインタ情報を取り出す処理とを並列動作させるよ
うにしているため、処理の高速化が図れる効果がある。
すなわち、最下位ブロックを読み込む処理時間をTiと
し、ポインタ情報を取り出す処理時間をTpとすると、他
の処理時間を無視すると、従来は合計してTi+Tpの処理
時間を要するものであったが、本発明によれば、Ti≧Tp
の場合はTi、Ti<Tpの場合はTpとなり、TpあるいはTiだ
け処理時間が短縮化できるものである。
は、索引ファイルの最下位ブロックを読み込む処理と、
最下位ブロック内の索引レコードからデータレコードを
指すポインタ情報を取り出す処理とを並列動作させるよ
うにしているため、処理の高速化が図れる効果がある。
すなわち、最下位ブロックを読み込む処理時間をTiと
し、ポインタ情報を取り出す処理時間をTpとすると、他
の処理時間を無視すると、従来は合計してTi+Tpの処理
時間を要するものであったが、本発明によれば、Ti≧Tp
の場合はTi、Ti<Tpの場合はTpとなり、TpあるいはTiだ
け処理時間が短縮化できるものである。
第1図は本発明の索引検索方式の一実施例を示す構成
図、 第2図は索引ファイルの論理的構成の一例を示す図およ
び、 第3図は従来の索引検索方式の説明図である。 図において、 1……索引ファイル 2……検索条件入力手段 3……検索条件解析手段 4……解析結果記憶手段 5……開始ブロック取得手段 6……索引検索手段 7……処理ブロック一括決定手段 8……ブロック先読み一括要求手段 9……終了ブロック判定手段 10……ポインタ情報取得手段 11……ポインタ情報記憶手段 12……最終先読みブロック判定手段 13……ポインタ情報取得手段 14……次処理ブロック取得手段 15……読み込み完了待ち合わせ手段 16……次処理ブロック読み込み手段 101……管理情報 102〜111……ブロック
図、 第2図は索引ファイルの論理的構成の一例を示す図およ
び、 第3図は従来の索引検索方式の説明図である。 図において、 1……索引ファイル 2……検索条件入力手段 3……検索条件解析手段 4……解析結果記憶手段 5……開始ブロック取得手段 6……索引検索手段 7……処理ブロック一括決定手段 8……ブロック先読み一括要求手段 9……終了ブロック判定手段 10……ポインタ情報取得手段 11……ポインタ情報記憶手段 12……最終先読みブロック判定手段 13……ポインタ情報取得手段 14……次処理ブロック取得手段 15……読み込み完了待ち合わせ手段 16……次処理ブロック読み込み手段 101……管理情報 102〜111……ブロック
Claims (1)
- 【請求項1】入力した検索条件から検索の開始キー値と
終了キー値とを解析し、階層的な複数のブロックから構
成される索引ファイルから前記開始キー値を含む最下位
ブロックを検索して読み込み、前記開始キー値から前記
終了キー値までのキー値に対応するデータレコードのポ
インタ情報を得、前記終了キー値を含む最下位ブロック
まで順次読み込みを行ってポインタ情報の取得を繰り返
す索引検索方式において、 前記の読み込んだ最下位ブロックに終了キー値が含まれ
ているか否かの判断処理および最下位ブロックからポイ
ンタ情報を得る処理と並行して次に必要となる複数の最
下位ブロックの読み込みを行わせるブロック先読み一括
要求手段と、 要求した複数の最下位ブロックが読み込まれるまで処理
を待ち合わせると共に、未処理の最下位ブロックを保持
する読み込み完了待ち合わせ手段とを備えたことを特徴
とする索引検索方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63284181A JP2734023B2 (ja) | 1988-11-10 | 1988-11-10 | 索引検索方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63284181A JP2734023B2 (ja) | 1988-11-10 | 1988-11-10 | 索引検索方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02129763A JPH02129763A (ja) | 1990-05-17 |
JP2734023B2 true JP2734023B2 (ja) | 1998-03-30 |
Family
ID=17675227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63284181A Expired - Lifetime JP2734023B2 (ja) | 1988-11-10 | 1988-11-10 | 索引検索方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2734023B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6669789B2 (ja) * | 2018-01-19 | 2020-03-18 | ファナック株式会社 | 電気装置およびモータ駆動装置 |
-
1988
- 1988-11-10 JP JP63284181A patent/JP2734023B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH02129763A (ja) | 1990-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0336584B1 (en) | Sort merge output | |
US5519861A (en) | Sampled data storage and editing system for the time series data being displayed according to collection location | |
KR100463667B1 (ko) | 정보 처리 시스템 및 그 방법 | |
JP2734023B2 (ja) | 索引検索方式 | |
US4809214A (en) | Information searching apparatus | |
JP2001513930A (ja) | データベース・システム及びデータベース・システムの運用方法 | |
US5170479A (en) | File block managing system using next record header position data and delete history data from block header and record headers to locate requested record block | |
JPH07146880A (ja) | 文書検索装置及び方法 | |
JPH0399380A (ja) | 収集データの格納方法 | |
JPH0728836A (ja) | データベース検索方法及びこの方法を用いたデータベースシステム | |
JPS6234278A (ja) | フアイル検索制御方式 | |
JP2000250921A (ja) | データベースの管理方法およびシステム | |
JPH05314188A (ja) | 範囲をもつデータの検索処理方式 | |
JP2943694B2 (ja) | データ登録方式およびデータ検索方式 | |
JPH01298430A (ja) | 索引検索方式 | |
JPH03202934A (ja) | データ処理装置 | |
JPH02139640A (ja) | 調査情報出力方式 | |
JP2747009B2 (ja) | 索引順編成ファイルのレコード追加方式 | |
JPS6266326A (ja) | 日本語デ−タ整列処理方式 | |
JPH02116936A (ja) | 再編成方式 | |
JPH03225412A (ja) | ファイルデータ読込み方式 | |
JPH03229368A (ja) | 画像表示検索方式 | |
JPS60203066A (ja) | 画像情報フアイルシステム | |
JPH06180716A (ja) | 時系列データ管理装置 | |
JPH05158760A (ja) | マイグレーション処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080109 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090109 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term |