JP2933486B2 - データベースの同時全件検索方法 - Google Patents
データベースの同時全件検索方法Info
- Publication number
- JP2933486B2 JP2933486B2 JP6135464A JP13546494A JP2933486B2 JP 2933486 B2 JP2933486 B2 JP 2933486B2 JP 6135464 A JP6135464 A JP 6135464A JP 13546494 A JP13546494 A JP 13546494A JP 2933486 B2 JP2933486 B2 JP 2933486B2
- Authority
- JP
- Japan
- Prior art keywords
- search
- database
- data
- item
- request
- 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 - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】
【産業上の利用分野】本発明は、データを外部記憶媒体
に管理するデータベース処理装置において、索引を用い
ずに全データを外部記憶媒体から読み込む必要のある場
合の全件検索方法に関する。
に管理するデータベース処理装置において、索引を用い
ずに全データを外部記憶媒体から読み込む必要のある場
合の全件検索方法に関する。
【0002】
【従来の技術】従来のデータベースシステムでは、入力
された検索要求は、この検索要求の最適化後に実行され
る。この基本的な流れについては、アン イントロダク
ショントゥ データベース システムズ,シー ジェイ
デイト,アディソン ウェズリー,1986,第11
0頁から第111頁および第333頁から第350頁
(An Introduction to Datab
ase Systems, C. J. Date,
ADDISON−WESLEY,1986,pp110
−pp111,pp333−pp350)において論じ
られている。
された検索要求は、この検索要求の最適化後に実行され
る。この基本的な流れについては、アン イントロダク
ショントゥ データベース システムズ,シー ジェイ
デイト,アディソン ウェズリー,1986,第11
0頁から第111頁および第333頁から第350頁
(An Introduction to Datab
ase Systems, C. J. Date,
ADDISON−WESLEY,1986,pp110
−pp111,pp333−pp350)において論じ
られている。
【0003】検索要求が入力された際に、利用できる索
引が存在しない場合は、全件検索処理(原文では、ph
ysical sequential scan)が発
生する。
引が存在しない場合は、全件検索処理(原文では、ph
ysical sequential scan)が発
生する。
【0004】全件検索処理が発生すると、外部記憶装置
上のデータの先頭から主記憶上のデータベースバッファ
に読み込み、次に連続的に発生した全件検索処理におい
ても同様にして外部記憶装置上のデータの先頭から主記
憶上のデータベースバッファに読み込む処理が実行され
る。
上のデータの先頭から主記憶上のデータベースバッファ
に読み込み、次に連続的に発生した全件検索処理におい
ても同様にして外部記憶装置上のデータの先頭から主記
憶上のデータベースバッファに読み込む処理が実行され
る。
【0005】ここで、全件検索処理が発生した場合に、
外部記憶装置から主記憶にデータを如何にして高速に読
み込むかが問題になる。
外部記憶装置から主記憶にデータを如何にして高速に読
み込むかが問題になる。
【0006】そこで、デービー2 デザイン アンド
デベロップメント ガイド,シージェイ デイト,アデ
ィソン ウェズリー,1988,第214頁から第22
0頁(DB2 Design & Developme
nt Guide, C.J. Date, ADDI
SON−WESLEY,1988,pp214−pp2
20)において論じられているように、連続する複数の
ブロックを1回で読み込む方法、ブロックが連続するこ
とを予期して幾つかのブロックを先読み(先行入力)す
る方法等を用いることが考えられる。
デベロップメント ガイド,シージェイ デイト,アデ
ィソン ウェズリー,1988,第214頁から第22
0頁(DB2 Design & Developme
nt Guide, C.J. Date, ADDI
SON−WESLEY,1988,pp214−pp2
20)において論じられているように、連続する複数の
ブロックを1回で読み込む方法、ブロックが連続するこ
とを予期して幾つかのブロックを先読み(先行入力)す
る方法等を用いることが考えられる。
【0007】
【発明が解決しようとする課題】しかし、主記憶上のデ
ータベースバッファの先頭データが主記憶から外部記憶
装置へ追い出された後に全件検索処理が発生すると、主
記憶上のデータベースバッファ上のデータが再利用でき
ないため、再度全データを外部記憶装置上のデータの先
頭から主記憶上のデータベースバッファに読み込む必要
が生じ、検索効率が著しく低下する。
ータベースバッファの先頭データが主記憶から外部記憶
装置へ追い出された後に全件検索処理が発生すると、主
記憶上のデータベースバッファ上のデータが再利用でき
ないため、再度全データを外部記憶装置上のデータの先
頭から主記憶上のデータベースバッファに読み込む必要
が生じ、検索効率が著しく低下する。
【0008】すなわち、上記従来のデータ読み込み方法
を使用した場合、複数の検索要求間での外部記憶装置か
らのデータ入力契機を調整し、読み込み回数を減少させ
ることについて考慮していない。このため、複数の全件
検索となる検索要求が発生すると、主記憶上に外部記憶
装置からデータを繰り返し読み込む処理が発生し、検索
要求間で主記憶上のデータベースバッファを奪い合う競
合状態が生じていまい、検索効率が著しく低下するとい
う問題がある。
を使用した場合、複数の検索要求間での外部記憶装置か
らのデータ入力契機を調整し、読み込み回数を減少させ
ることについて考慮していない。このため、複数の全件
検索となる検索要求が発生すると、主記憶上に外部記憶
装置からデータを繰り返し読み込む処理が発生し、検索
要求間で主記憶上のデータベースバッファを奪い合う競
合状態が生じていまい、検索効率が著しく低下するとい
う問題がある。
【0009】本発明の目的は、全件検索となる複数の検
索要求に対する外部記憶媒体からのデータ読み込み回数
を減少させ、効率良く全件検索を行うことができるデー
タベースの同時全件検索方法を提供することである。
索要求に対する外部記憶媒体からのデータ読み込み回数
を減少させ、効率良く全件検索を行うことができるデー
タベースの同時全件検索方法を提供することである。
【0010】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、データベースへの複数の全件検索要求に
対し、先行する全件検索処理が実行中かどうかを判断
し、実行中の全件検索処理がある場合はその実行中の全
件検索処理が終了するまで後続の複数の全件検索要求を
待機させ、先行の全件検索要求に対する全件検索処理終
了後に、後続の複数の全件検索要求に対する全件検索処
理を同時実行させることを特徴とする。
に、本発明は、データベースへの複数の全件検索要求に
対し、先行する全件検索処理が実行中かどうかを判断
し、実行中の全件検索処理がある場合はその実行中の全
件検索処理が終了するまで後続の複数の全件検索要求を
待機させ、先行の全件検索要求に対する全件検索処理終
了後に、後続の複数の全件検索要求に対する全件検索処
理を同時実行させることを特徴とする。
【0011】また、データベースへの全件検索要求に対
し、先行する全件検索処理が実行中かどうかを判断し、
実行中の全件検索処理がある場合はその実行中の全件検
索処理が読み込んでいるデータの位置を記憶し、その位
置のデータから後続の全件検索処理を先行の全件検索処
理と並行して開始させ、先行の全件検索処理の終了後
に、データベースの先頭から前記記憶した位置までのデ
ータを読出して後続の全件検索処理を実行させることを
特徴とする。
し、先行する全件検索処理が実行中かどうかを判断し、
実行中の全件検索処理がある場合はその実行中の全件検
索処理が読み込んでいるデータの位置を記憶し、その位
置のデータから後続の全件検索処理を先行の全件検索処
理と並行して開始させ、先行の全件検索処理の終了後
に、データベースの先頭から前記記憶した位置までのデ
ータを読出して後続の全件検索処理を実行させることを
特徴とする。
【0012】
【作用】上記手段によれば、現在実行中の全件検索が終
了するまで後続の複数の全件検索要求に対する検索処理
は一時的に待たされ、現在実行中の全件検索処理が終了
の後、同時に実行が開始される。このため、後続の複数
の全件検索処理では、主記憶上のデータベースバッファ
を互いに共用し、一括して全件検索処理を行うことがで
き、外部記憶媒体からの読み込み回数が減少する。
了するまで後続の複数の全件検索要求に対する検索処理
は一時的に待たされ、現在実行中の全件検索処理が終了
の後、同時に実行が開始される。このため、後続の複数
の全件検索処理では、主記憶上のデータベースバッファ
を互いに共用し、一括して全件検索処理を行うことがで
き、外部記憶媒体からの読み込み回数が減少する。
【0013】また、先行の検索処理が現時点で読み込ん
だ途中の位置から全件検索が開始され、不足分のデータ
(すなわち、先行の全件検索処理が既に終了している位
置のデータ)はラップアラウンドして、すなわちデータ
ベースの先頭位置に戻って読み込まれる。このため、後
続の全件検索処理では、主記憶上のバッファメモリに先
行の全件検索処理が読み込んだデータを再利用できる。
だ途中の位置から全件検索が開始され、不足分のデータ
(すなわち、先行の全件検索処理が既に終了している位
置のデータ)はラップアラウンドして、すなわちデータ
ベースの先頭位置に戻って読み込まれる。このため、後
続の全件検索処理では、主記憶上のバッファメモリに先
行の全件検索処理が読み込んだデータを再利用できる。
【0014】
【実施例】以下、本発明の一実施例を図面により詳細に
説明する。
説明する。
【0015】図1は、本発明を実施する同時全件検索シ
ステムの一実施例を示す全体構成図である。
ステムの一実施例を示す全体構成図である。
【0016】図1において、この実施例の同時全件検索
システムは、大別すると、ユーザの検索要求を受け付け
る検索要求入力部101、検索処理を実行するCPUか
ら成る処理装置102および検索対象のデータをリレー
ショナルデータベース形式で記憶した外部記憶媒体10
3とから構成されている。
システムは、大別すると、ユーザの検索要求を受け付け
る検索要求入力部101、検索処理を実行するCPUか
ら成る処理装置102および検索対象のデータをリレー
ショナルデータベース形式で記憶した外部記憶媒体10
3とから構成されている。
【0017】処理装置102は、検索要求を解析し、全
件検索すべきかどうかなどの判断を行う検索要求解析部
103、外部記憶媒体103へのアクセスを制御するデ
ータベースアクセス部105、処理装置102内の主記
憶領域に設けられ、システムの制御情報を管理するシス
テム管理ブロック106から構成されている。
件検索すべきかどうかなどの判断を行う検索要求解析部
103、外部記憶媒体103へのアクセスを制御するデ
ータベースアクセス部105、処理装置102内の主記
憶領域に設けられ、システムの制御情報を管理するシス
テム管理ブロック106から構成されている。
【0018】このうち、データベースアクセス部105
は、全件検索を行おうとした時に、既に別の検索要求に
より全件検索処理が実行中であった場合に当該検索要求
を一時的に保留する機構を持つ検索要求保留制御部10
7、別の全件検索処理と同期をとって検索するための制
御を行う同期検索制御部108、外部記憶媒体103か
ら読み込んだデータを一時蓄積する所定記憶容量のデー
タベースバッファ109から構成されている。
は、全件検索を行おうとした時に、既に別の検索要求に
より全件検索処理が実行中であった場合に当該検索要求
を一時的に保留する機構を持つ検索要求保留制御部10
7、別の全件検索処理と同期をとって検索するための制
御を行う同期検索制御部108、外部記憶媒体103か
ら読み込んだデータを一時蓄積する所定記憶容量のデー
タベースバッファ109から構成されている。
【0019】図2は、主記憶装置201内に設けられる
システム管理ブロック106の詳細構成を示す図であ
り、システム管理ブロック106で管理される制御情報
は、ユーザ情報をユーザ毎に管理するユーザ管理ブロッ
ク205、各ユーザから入力された検索要求、すなわち
SQL(Structured Query lang
uage)をユーザ毎に管理するSQL管理ブロック2
06、そのSQL内でアクセスする表毎に同期または保
留のステータス状態及び検索を開始した位置(ぺージ)
を記憶しておく表アクセス管理ブロック202、表と現
在アクセスしているページを管理する全件検索管理表2
03、及びデータベースバッファ109の各ページが使
用されているか否かを管理するバッファ管理ブロック2
04からなる。
システム管理ブロック106の詳細構成を示す図であ
り、システム管理ブロック106で管理される制御情報
は、ユーザ情報をユーザ毎に管理するユーザ管理ブロッ
ク205、各ユーザから入力された検索要求、すなわち
SQL(Structured Query lang
uage)をユーザ毎に管理するSQL管理ブロック2
06、そのSQL内でアクセスする表毎に同期または保
留のステータス状態及び検索を開始した位置(ぺージ)
を記憶しておく表アクセス管理ブロック202、表と現
在アクセスしているページを管理する全件検索管理表2
03、及びデータベースバッファ109の各ページが使
用されているか否かを管理するバッファ管理ブロック2
04からなる。
【0020】図1において、検索要求入力部101から
投入されたデータベースに対する要求には、インデクス
を定義し、それを利用することで検索効率を向上するこ
とができるケースが存在するが、非定型の業務において
は検索の条件にインデクスが存在しない場合やインデク
スが存在する場合でもその条件では、絞り込むことので
きない場合などが多く存在する。そうした場合、データ
ベースに対する検索の方法は、全件検索を行うことにな
る。従って、まったく同じ検索要求でなくとも、全件デ
ータを検索する必要が多く発生する。
投入されたデータベースに対する要求には、インデクス
を定義し、それを利用することで検索効率を向上するこ
とができるケースが存在するが、非定型の業務において
は検索の条件にインデクスが存在しない場合やインデク
スが存在する場合でもその条件では、絞り込むことので
きない場合などが多く存在する。そうした場合、データ
ベースに対する検索の方法は、全件検索を行うことにな
る。従って、まったく同じ検索要求でなくとも、全件デ
ータを検索する必要が多く発生する。
【0021】検索要求解析部104は、検索要求入力部
101から入力されたユーザの検索要求を解析し、デー
タベースに対する検索方法を決定する。例えば、検索に
使用出来るインデクスが存在しない、または、存在した
としても過去の検索処理における統計情報などにより検
索した場合のヒット率が低いと推定される場合などは、
全件検索を実行すると決定する。
101から入力されたユーザの検索要求を解析し、デー
タベースに対する検索方法を決定する。例えば、検索に
使用出来るインデクスが存在しない、または、存在した
としても過去の検索処理における統計情報などにより検
索した場合のヒット率が低いと推定される場合などは、
全件検索を実行すると決定する。
【0022】一方、検索要求保留制御部107は、今回
の新たな検索要求に対して、全件検索管理表203を参
照して今回検索対象となった表が現在全件検索処理中で
あるかを判定し、別の要求により全件検索中の場合は、
今回の新たな検索要求に関する表アクセス管理ブロック
202のステータス情報202bを「保留」状態に設定
し、かつ今回の新たな検索要求は待機状態にすること
で、先行の全件検索処理の終了後、実行保留状態となっ
た検索要求(1つまたは複数の検索要求)を同時に開始
させる機能を備えている。このことについては、図3を
用いて後述する。
の新たな検索要求に対して、全件検索管理表203を参
照して今回検索対象となった表が現在全件検索処理中で
あるかを判定し、別の要求により全件検索中の場合は、
今回の新たな検索要求に関する表アクセス管理ブロック
202のステータス情報202bを「保留」状態に設定
し、かつ今回の新たな検索要求は待機状態にすること
で、先行の全件検索処理の終了後、実行保留状態となっ
た検索要求(1つまたは複数の検索要求)を同時に開始
させる機能を備えている。このことについては、図3を
用いて後述する。
【0023】同期検索制御部108は、検索要求入力部
101から入力されたユーザの検索要求に対して、全件
検索管理表203を参照して今回検索対象となった表が
現在全件検索処理中であるかを判定し、別の要求により
全件検索中であった場合、今回の新たな検索要求に関す
る表アクセス管理ブロック202のステータス情報20
2bを「同期」に設定した後、全件検索管理表203で
管理している現在のアクセスページを表アクセス管理ブ
ロック202の検索開始位置情報202cに設定し、途
中のページから全件検索処理を開始させる機能を備えて
いる。
101から入力されたユーザの検索要求に対して、全件
検索管理表203を参照して今回検索対象となった表が
現在全件検索処理中であるかを判定し、別の要求により
全件検索中であった場合、今回の新たな検索要求に関す
る表アクセス管理ブロック202のステータス情報20
2bを「同期」に設定した後、全件検索管理表203で
管理している現在のアクセスページを表アクセス管理ブ
ロック202の検索開始位置情報202cに設定し、途
中のページから全件検索処理を開始させる機能を備えて
いる。
【0024】次に、本発明の動作について図3〜図5の
フローチャートを用いて説明する。
フローチャートを用いて説明する。
【0025】図3は、全件検索保留方式を利用する場合
のフローチャートを示したものである。
のフローチャートを示したものである。
【0026】まず、検索要求が入力された場合、最適化
処理により、その検索要求は、検索に使用できるインデ
クスが存在するか、存在したとしても過去の検索処理時
の統計情報などを元にヒット率が高すぎる場合はインデ
クスを使用すべきでないといった基準で全件検索をする
かどうかの判断を行う(ステップ301)。
処理により、その検索要求は、検索に使用できるインデ
クスが存在するか、存在したとしても過去の検索処理時
の統計情報などを元にヒット率が高すぎる場合はインデ
クスを使用すべきでないといった基準で全件検索をする
かどうかの判断を行う(ステップ301)。
【0027】全件検索をすべきであると判断した場合
は、全件検索管理表203を調べ、既に全件検索処理が
動作中であるかの情報を得る(ステップ302,30
4)。すなわち、今回の検索要求で検索しようとしてい
る表が全件検索管理表203に既に登録されているかど
うかの情報を得る。
は、全件検索管理表203を調べ、既に全件検索処理が
動作中であるかの情報を得る(ステップ302,30
4)。すなわち、今回の検索要求で検索しようとしてい
る表が全件検索管理表203に既に登録されているかど
うかの情報を得る。
【0028】既に別の要求により、目的のデータベース
(表)に対して全件検索を実行中であった場合は、今回
の検索要求に対応する表アクセス管理ブロック202の
ステータス情報を保留状態に設定し(ステップ30
7)、保留状態を解除されるまで待機させる(ステップ
308)。
(表)に対して全件検索を実行中であった場合は、今回
の検索要求に対応する表アクセス管理ブロック202の
ステータス情報を保留状態に設定し(ステップ30
7)、保留状態を解除されるまで待機させる(ステップ
308)。
【0029】一方、全件検索処理が動作中でなかった場
合は、全件検索管理表203に全件検索する表の表名2
03aを登録した後、全件検索を開始し、データの読み
込みを行う(ステップ309,310)。
合は、全件検索管理表203に全件検索する表の表名2
03aを登録した後、全件検索を開始し、データの読み
込みを行う(ステップ309,310)。
【0030】全件検索が終了した時、表アクセス管理ブ
ロック202を検索し、保留状態となっている検索要求
が存在するかどうかを調べ、存在していた場合、その保
留していた検索要求の待機状態を解除し、検索開始指示
を行う。この詳細は、図8および図9を用いて後述す
る。
ロック202を検索し、保留状態となっている検索要求
が存在するかどうかを調べ、存在していた場合、その保
留していた検索要求の待機状態を解除し、検索開始指示
を行う。この詳細は、図8および図9を用いて後述す
る。
【0031】ここで、待機状態を解除された検索要求が
2個以上存在する場合、実際にはそれぞれの検索要求に
対する処理が全く同一ではなく若干ずれたタイミングで
進行することになるが、先行の検索要求に対する処理で
は外部記憶媒体103からの読出し処理を行う必要があ
る分だけ処理が遅くなり、結果的にほぼ同時に複数の検
索要求に対する全件検索が進行することになる。また、
最初に処理を終了した検索要求が保留中の検索要求を起
動することになるが、ほぼ同時に進行しているため、起
動された後続の全件検索との競合は直ちに解消される。
2個以上存在する場合、実際にはそれぞれの検索要求に
対する処理が全く同一ではなく若干ずれたタイミングで
進行することになるが、先行の検索要求に対する処理で
は外部記憶媒体103からの読出し処理を行う必要があ
る分だけ処理が遅くなり、結果的にほぼ同時に複数の検
索要求に対する全件検索が進行することになる。また、
最初に処理を終了した検索要求が保留中の検索要求を起
動することになるが、ほぼ同時に進行しているため、起
動された後続の全件検索との競合は直ちに解消される。
【0032】以上のように、複数の全件検索要求に対
し、先行する全件検索要求があった場合はその先行の全
件検索要求に対する検索処理が終了するまで後続の複数
の全件検索要求を待機させ、先行の全件検索要求に対す
る検索処理が終了後に、後続の複数の全件検索要求に対
する処理を実行させるという制御を行うことにより、複
数の全件検索要求が時間がずれて到着した場合でも、先
行の全件検索要求に対する処理が終了した段階で同時刻
に検索処理が開始されることになり、後続の全件検索要
求はデータベースバッファ109を互いに共用し、一括
して同時に全件検索を行うことができる。図5に後続の
全件検索要求a,bが一時待機させられ、先行の全件検
索処理が終了した段階で一括して処理されている様子を
タイムチャートで示している。
し、先行する全件検索要求があった場合はその先行の全
件検索要求に対する検索処理が終了するまで後続の複数
の全件検索要求を待機させ、先行の全件検索要求に対す
る検索処理が終了後に、後続の複数の全件検索要求に対
する処理を実行させるという制御を行うことにより、複
数の全件検索要求が時間がずれて到着した場合でも、先
行の全件検索要求に対する処理が終了した段階で同時刻
に検索処理が開始されることになり、後続の全件検索要
求はデータベースバッファ109を互いに共用し、一括
して同時に全件検索を行うことができる。図5に後続の
全件検索要求a,bが一時待機させられ、先行の全件検
索処理が終了した段階で一括して処理されている様子を
タイムチャートで示している。
【0033】この結果、データベースバッファ109の
再利用効果が高くなる。すなわち、外部記憶装置103
からデータベース109への読み込み回数が減少し、か
つ各全件検索要求に対する応答速度も向上する。この場
合、データベースバッファ109の利用効率は後続の全
件検索要求が多数になるほど向上する。
再利用効果が高くなる。すなわち、外部記憶装置103
からデータベース109への読み込み回数が減少し、か
つ各全件検索要求に対する応答速度も向上する。この場
合、データベースバッファ109の利用効率は後続の全
件検索要求が多数になるほど向上する。
【0034】図6は、開始位置記憶方式を利用する場合
のフローチャートを示したものである。
のフローチャートを示したものである。
【0035】まず、検索要求が入力された場合、最適化
処理により、その検索要求は、検索に使用できるインデ
クスが存在するか、存在したとしても過去の検索処理時
の統計情報などを元にヒット率が高すぎる場合はインデ
クスを使用すべきでないといった基準で全件検索をする
かどうかの判断を行う(ステップ401)。
処理により、その検索要求は、検索に使用できるインデ
クスが存在するか、存在したとしても過去の検索処理時
の統計情報などを元にヒット率が高すぎる場合はインデ
クスを使用すべきでないといった基準で全件検索をする
かどうかの判断を行う(ステップ401)。
【0036】全件検索を行うべき要求でなければ、当該
要求に対する検索処理を実行する(ステップ402,4
07)。
要求に対する検索処理を実行する(ステップ402,4
07)。
【0037】全件検索をすべきであると判断した場合
は、全件検索管理表203を調べ、既に全件検索処理が
動作中であるかの情報を得る(ステップ403)。すな
わち、今回の検索要求で検索しようとしている表が全件
検索管理表203に既に登録されているかどうかの情報
を得る。
は、全件検索管理表203を調べ、既に全件検索処理が
動作中であるかの情報を得る(ステップ403)。すな
わち、今回の検索要求で検索しようとしている表が全件
検索管理表203に既に登録されているかどうかの情報
を得る。
【0038】先行の全件検索要求に対する処理が実行中
でなかった場合は、当該要求に対する検索処理を実行す
る(ステップ403,408)。
でなかった場合は、当該要求に対する検索処理を実行す
る(ステップ403,408)。
【0039】しかし、既に別の要求により、目的のデー
タベース(表)に対して全件検索を実行中であった場合
は、全件検索管理表203を参照して現在検索中のペー
ジ情報203bを取得し、表アクセス管理ブロック20
7に検索要求別に記憶し(ステップ404)、そのペー
ジ情報で示されるデータバッファ109の記憶位置から
のデータを読み込み、全件検索を行う(ステップ40
5)。
タベース(表)に対して全件検索を実行中であった場合
は、全件検索管理表203を参照して現在検索中のペー
ジ情報203bを取得し、表アクセス管理ブロック20
7に検索要求別に記憶し(ステップ404)、そのペー
ジ情報で示されるデータバッファ109の記憶位置から
のデータを読み込み、全件検索を行う(ステップ40
5)。
【0040】この場合、外部記憶媒体103の終端まで
読み込みが終了した場合でも、ラップアラウンドして先
頭からデータを読み込む。そのラップアラウンドした読
み込み処理は、ステップ404で記憶した当該処理の検
索開始位置まで行なう(ステップ406)。
読み込みが終了した場合でも、ラップアラウンドして先
頭からデータを読み込む。そのラップアラウンドした読
み込み処理は、ステップ404で記憶した当該処理の検
索開始位置まで行なう(ステップ406)。
【0041】このように各全件検索要求ごとに毎回、外
部記憶媒体103の先頭からデータを読み込むのではな
く、他の検索処理が現時点で読み込んだ途中の位置から
の全件検索データを利用するように制御することで、先
行の全件検索要求がデータベースバッファ109に読み
込んだデータを後続の複数の全件検索要求で再利用する
ことが可能となり、データベースバッファ109への読
み込み回数が減少し、かつ各全件検索要求に対する応答
速度も向上する。
部記憶媒体103の先頭からデータを読み込むのではな
く、他の検索処理が現時点で読み込んだ途中の位置から
の全件検索データを利用するように制御することで、先
行の全件検索要求がデータベースバッファ109に読み
込んだデータを後続の複数の全件検索要求で再利用する
ことが可能となり、データベースバッファ109への読
み込み回数が減少し、かつ各全件検索要求に対する応答
速度も向上する。
【0042】また、後続の全件検索要求を待機させる場
合に比べ、待機時間が存在しない分だけ検索結果を早く
得ることができる。
合に比べ、待機時間が存在しない分だけ検索結果を早く
得ることができる。
【0043】図7に、後続の全件検索要求aが先行の全
件検索処理の検索データP3〜P6を利用し、また別の
全件検索要求bが先行の全件検索処理の検索データP4
〜P6を利用し、不足分の検索データP1〜P2および
P1〜P3はラップアラウンドして読み込んでいる様子
をタイムチャートで示している。
件検索処理の検索データP3〜P6を利用し、また別の
全件検索要求bが先行の全件検索処理の検索データP4
〜P6を利用し、不足分の検索データP1〜P2および
P1〜P3はラップアラウンドして読み込んでいる様子
をタイムチャートで示している。
【0044】図8は、検索要求入力部101から入力さ
れた検索要求、または待機状態を解除された検索要求、
または先行の検索要求のデータを途中まで利用した後続
の検索要求に対し、外部記憶媒体103からデータベー
スバッファ109にデータを読み込む部分の構成図を示
したものである。
れた検索要求、または待機状態を解除された検索要求、
または先行の検索要求のデータを途中まで利用した後続
の検索要求に対し、外部記憶媒体103からデータベー
スバッファ109にデータを読み込む部分の構成図を示
したものである。
【0045】この構成にあっては、主記憶装置201内
には、データベースバッファ109を管理するデータベ
ースバッファ管理ブロック204が存在し、その中に
は、データベースバッファ109のどのバッファ領域を
使用しているかを管理する使用リストテーブル504と
未使用リストテーブル506が設けられている。
には、データベースバッファ109を管理するデータベ
ースバッファ管理ブロック204が存在し、その中に
は、データベースバッファ109のどのバッファ領域を
使用しているかを管理する使用リストテーブル504と
未使用リストテーブル506が設けられている。
【0046】これらテーブル504,506には、各バ
ッファ領域へ読み込まれたデータの読み込みアドレス5
05が記憶されるようになっている。
ッファ領域へ読み込まれたデータの読み込みアドレス5
05が記憶されるようになっている。
【0047】一方、データベースアクセス部105に
は、バッファ読み込み制御部502およびバッファ更新
制御部503から成るバッファ制御部501が設けられ
ている。
は、バッファ読み込み制御部502およびバッファ更新
制御部503から成るバッファ制御部501が設けられ
ている。
【0048】図9は、データベースバッファ109への
読み込み動作をする処理の流れを示すフローチャートで
ある。
読み込み動作をする処理の流れを示すフローチャートで
ある。
【0049】図9を参照してデータベースバッファへ1
09へデータの読み込み動作を説明する。
09へデータの読み込み動作を説明する。
【0050】まず、全件検索時のデータベースバッファ
109へのデータの読み込み時には、バッファ管理ブロ
ック204内の使用リストテーブル504から空きのバ
ッファ領域を捜す(ステップ601)。空きがない場合
は、「参照」の排他がかけられておらず、かつ全件検索
管理表203に記憶されている「現在アクセスしている
ぺージ」より一番古いぺージに相当するバッファ領域を
解放する(ステップ602,603)。
109へのデータの読み込み時には、バッファ管理ブロ
ック204内の使用リストテーブル504から空きのバ
ッファ領域を捜す(ステップ601)。空きがない場合
は、「参照」の排他がかけられておらず、かつ全件検索
管理表203に記憶されている「現在アクセスしている
ぺージ」より一番古いぺージに相当するバッファ領域を
解放する(ステップ602,603)。
【0051】空きが存在する場合は、当該空きのバッフ
ァ領域にデータを読み込む(ステップ604)。
ァ領域にデータを読み込む(ステップ604)。
【0052】読み込み終了後は、全件検索管理表203
における読み込んだ表名203aのアクセスページ20
3bを更新し、そのデータの利用が終了するまで「参
照」の排他をかけ(ステップ606)、利用終了後に
は、参照の排他を解除することにより1ページ分の読み
込みを終了させる(ステップ607,608)。
における読み込んだ表名203aのアクセスページ20
3bを更新し、そのデータの利用が終了するまで「参
照」の排他をかけ(ステップ606)、利用終了後に
は、参照の排他を解除することにより1ページ分の読み
込みを終了させる(ステップ607,608)。
【0053】なお、外部記憶媒体に格納されたデータを
更新する場合には、全件検索で使用しているデータベー
スバッファ109とは別のバッファを用い、バッファ更
新制御部503の制御に従って更新処理を行う。
更新する場合には、全件検索で使用しているデータベー
スバッファ109とは別のバッファを用い、バッファ更
新制御部503の制御に従って更新処理を行う。
【0054】なお、上記実施例においては、表形式のデ
ータベースを例に挙げて説明したが、本発明はこれに限
定されるものではない。
ータベースを例に挙げて説明したが、本発明はこれに限
定されるものではない。
【0055】
【発明の効果】以上のように本発明によれば、データベ
ースへの複数の全件検索要求に対し、先行する全件検索
要求があった場合はその先行の全件検索要求に対する検
索処理が終了するまで後続の複数の全件検索要求を待機
させ、先行の全件検索要求に対する検索処理が終了後
に、後続の複数の全件検索要求に対する処理を実行させ
るという制御を行うことにより、複数の全件検索要求が
時間がずれて到着した場合でも、先行の全件検索要求に
対する処理が終了した段階で同時刻に検索処理が開始さ
れることになり、後続の全件検索要求はデータベースバ
ッファを互いに共用して一括して全件検索を行うことが
できる。
ースへの複数の全件検索要求に対し、先行する全件検索
要求があった場合はその先行の全件検索要求に対する検
索処理が終了するまで後続の複数の全件検索要求を待機
させ、先行の全件検索要求に対する検索処理が終了後
に、後続の複数の全件検索要求に対する処理を実行させ
るという制御を行うことにより、複数の全件検索要求が
時間がずれて到着した場合でも、先行の全件検索要求に
対する処理が終了した段階で同時刻に検索処理が開始さ
れることになり、後続の全件検索要求はデータベースバ
ッファを互いに共用して一括して全件検索を行うことが
できる。
【0056】この結果、外部記憶媒体からの読み込み回
数および読み込み時間(シーク/サーチ時間など)が減
少し、各全件検索要求に対する応答速度も向上するとい
う効果が得られる。
数および読み込み時間(シーク/サーチ時間など)が減
少し、各全件検索要求に対する応答速度も向上するとい
う効果が得られる。
【0057】また、各全件検索要求ごとに毎回、外部記
憶媒体の先頭からデータを読み込むのではなく、先行の
検索処理が現時点で読み込んだ途中の位置からの全件検
索データを利用するように制御することで、先行の全件
検索要求がデータベースバッファに読み込んだデータを
後続の複数の全件検索要求で再利用することが可能とな
り、外部記憶媒体からの読み込み回数が減少し、かつ各
全件検索要求に対する応答速度も向上し、さらに後続の
全件検索要求を待機させる場合に比べ、待機時間が存在
しない分だけ検索結果を早く得ることができるという効
果がある。
憶媒体の先頭からデータを読み込むのではなく、先行の
検索処理が現時点で読み込んだ途中の位置からの全件検
索データを利用するように制御することで、先行の全件
検索要求がデータベースバッファに読み込んだデータを
後続の複数の全件検索要求で再利用することが可能とな
り、外部記憶媒体からの読み込み回数が減少し、かつ各
全件検索要求に対する応答速度も向上し、さらに後続の
全件検索要求を待機させる場合に比べ、待機時間が存在
しない分だけ検索結果を早く得ることができるという効
果がある。
【図1】本発明の方法を適用した同時全件検索システム
の一実施例を示す全体構成図である。
の一実施例を示す全体構成図である。
【図2】図1のシステム管理ブロックの構成図である。
【図3】複数の全件検索要求を一時保留させて検索を行
う処理の流れの前半部分を示すフローチャートである。
う処理の流れの前半部分を示すフローチャートである。
【図4】複数の全件検索要求を一時保留させて検索を行
う処理の流れの後半部分を示すフローチャートである。
う処理の流れの後半部分を示すフローチャートである。
【図5】複数の全件検索要求を一時保留させて検索を行
う様子を示すタイムチャートである。
う様子を示すタイムチャートである。
【図6】他の検索処理が既に読み込んだ途中の位置から
の全件検索データを利用する処理のながれを示すフロー
チャートである。
の全件検索データを利用する処理のながれを示すフロー
チャートである。
【図7】他の検索処理が既に読み込んだ途中の位置から
の全件検索データを利用する場合の様子を示すタイムチ
ャートである。
の全件検索データを利用する場合の様子を示すタイムチ
ャートである。
【図8】検索要求に対するデータベースバッファへのデ
ータ読み込み機構の一例を示す構成図である。
ータ読み込み機構の一例を示す構成図である。
【図9】データベースバッファへのデータ読み込み処理
の流れを示すフローチャートである。
の流れを示すフローチャートである。
101…検索要求入力部、102…処理装置、103…
外部記憶媒体、104…検索要求解析部、105…デー
タベースアクセス部、107…検索要求保留制御部、1
08…同期検索制御部、109…データベースバッフ
ァ、201…主記憶装置、202…表アクセス管理ブロ
ック、203…全件検索管理表、204…バッファ管理
ブロック、205…ユーザ管理ブロック、206…SQ
L管理ブロック、501…バッファ制御部、502…バ
ッファ読み込み制御部、503…バッファ更新制御部。
外部記憶媒体、104…検索要求解析部、105…デー
タベースアクセス部、107…検索要求保留制御部、1
08…同期検索制御部、109…データベースバッフ
ァ、201…主記憶装置、202…表アクセス管理ブロ
ック、203…全件検索管理表、204…バッファ管理
ブロック、205…ユーザ管理ブロック、206…SQ
L管理ブロック、501…バッファ制御部、502…バ
ッファ読み込み制御部、503…バッファ更新制御部。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 正井 一夫 神奈川県横浜市戸塚区戸塚町5030番地 株式会社日立製作所 ソフトウェア開発 本部内 (72)発明者 山下 邦明 神奈川県横浜市戸塚区戸塚町5030番地 株式会社日立製作所 ソフトウェア開発 本部内 (56)参考文献 特開 平1−281528(JP,A) 山下,外3名「VOS3/AS DB /DC機能拡張−XDMを中心として −」日立評論,Vol.73,No.2, 1991,p.87−96 (58)調査した分野(Int.Cl.6,DB名) G06F 17/30 G06F 12/00 514 JICSTファイル(JOIS)
Claims (4)
- 【請求項1】 1つのデータベースに対して同時に複数
の検索処理を実行できるデータベース処理装置における
検索方法であって、 データベースへの複数の全件検索要求に対し、先行する
全件検索処理が実行中かどうかを判断し、実行中の全件
検索処理がある場合はその実行中の全件検索処理が終了
するまで後続の複数の全件検索要求を待機させ、先行の
全件検索要求に対する全件検索処理終了後に、後続の複
数の全件検索要求に対する全件検索処理を同時実行させ
ることを特徴とするデータベースの同時全件検索方法。 - 【請求項2】 前記複数の全件検索要求に対する全件検
索処理は、前記データベースから読出したデータを一時
格納するバッファメモリを用いて行なうことを特徴とす
る請求項1記載のデータベースの同時全件検索方法。 - 【請求項3】 1つのデータベースに対して同時に複数
の検索処理を実行できるデータベース処理装置における
検索方法であって、 データベースへの全件検索要求に対し、先行する全件検
索処理が実行中かどうかを判断し、実行中の全件検索処
理がある場合はその実行中の全件検索処理が読み込んで
いるデータの位置を記憶し、その位置のデータから後続
の全件検索処理を先行の全件検索処理と並行して開始さ
せ、先行の全件検索処理の終了後に、データベースの先
頭から前記記憶した位置までのデータを読出して後続の
全件検索処理を実行させることを特徴とするデータベー
スの同時全件検索方法。 - 【請求項4】 前記全件検索要求に対する全件検索処理
は、前記データベースから読出したデータを一時格納す
るバッファメモリを用いて行ない、後続の全件検索処理
は先行の全件検索処理が現時点でバッファメモリに読み
込んでいる位置のデータから先行の全件検索処理と並行
して開始させることを特徴とする請求項3記載のデータ
ベースの同時全件検索方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6135464A JP2933486B2 (ja) | 1994-06-17 | 1994-06-17 | データベースの同時全件検索方法 |
US08/467,278 US5717918A (en) | 1994-06-17 | 1995-06-06 | Method for concurrently performing a physical sequential scan of a database into a database buffer which is queued until a preceding scan is completed |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6135464A JP2933486B2 (ja) | 1994-06-17 | 1994-06-17 | データベースの同時全件検索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH086829A JPH086829A (ja) | 1996-01-12 |
JP2933486B2 true JP2933486B2 (ja) | 1999-08-16 |
Family
ID=15152332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6135464A Expired - Fee Related JP2933486B2 (ja) | 1994-06-17 | 1994-06-17 | データベースの同時全件検索方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2933486B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014655A (en) * | 1996-03-13 | 2000-01-11 | Hitachi, Ltd. | Method of retrieving database |
JP5238219B2 (ja) | 2007-10-29 | 2013-07-17 | 株式会社東芝 | 情報処理システム及びパイプライン処理制御方法 |
JP4589427B2 (ja) | 2008-08-06 | 2010-12-01 | 株式会社日立製作所 | データベース管理方法、データベース管理装置及びデータベース管理プログラム |
JP5799706B2 (ja) * | 2011-09-26 | 2015-10-28 | 富士通株式会社 | 検索要求処理装置 |
-
1994
- 1994-06-17 JP JP6135464A patent/JP2933486B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
山下,外3名「VOS3/AS DB/DC機能拡張−XDMを中心として−」日立評論,Vol.73,No.2,1991,p.87−96 |
Also Published As
Publication number | Publication date |
---|---|
JPH086829A (ja) | 1996-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4214712B2 (ja) | データベースのページ確保処理方法 | |
CA2302303A1 (en) | System for accessing database tables mapped into memory for high performance | |
JP2933486B2 (ja) | データベースの同時全件検索方法 | |
JPH04219844A (ja) | 高速媒体優先解放型排他方式 | |
JP3363292B2 (ja) | データベース管理システム | |
JPH0773085A (ja) | データ処理システムおよびメタデータの先読み方法 | |
JPS59220853A (ja) | デイスクキヤツシユシステム | |
JP2539347B2 (ja) | フアイル管理方法 | |
EP2937788A1 (en) | Information processing method, information processing device, and program | |
JPH07334402A (ja) | メインメモリ化データベース | |
JP3180336B2 (ja) | 多層バッファを用いるデータアクセス方法 | |
JPH096653A (ja) | データベースのチェックを行う情報処理装置 | |
JP3260587B2 (ja) | 時系列データ管理方式 | |
JP2870308B2 (ja) | データベースマネージメントシステム | |
JP3398672B2 (ja) | 中間データ格納装置 | |
JP2938047B1 (ja) | データのバッファリングシステム | |
JP2980610B2 (ja) | トランザクション管理装置 | |
JP4131579B2 (ja) | データ管理システムおよびデータ管理方法 | |
JP2743849B2 (ja) | 更新バッファ管理装置 | |
JPH06289838A (ja) | フォントキャッシュ制御装置およびその適用方法 | |
JP2604787B2 (ja) | 二次元データ格納方式 | |
JPH01282635A (ja) | 索引保守方式 | |
JPH05151037A (ja) | 業務処理中データベース再編成処理方式 | |
JPH0682334B2 (ja) | 管理テーブルの管理処理装置 | |
JPH09179765A (ja) | データベース検索システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080528 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090528 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100528 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110528 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |