JPH04199275A - データベース検索装置 - Google Patents
データベース検索装置Info
- Publication number
- JPH04199275A JPH04199275A JP2318133A JP31813390A JPH04199275A JP H04199275 A JPH04199275 A JP H04199275A JP 2318133 A JP2318133 A JP 2318133A JP 31813390 A JP31813390 A JP 31813390A JP H04199275 A JPH04199275 A JP H04199275A
- Authority
- JP
- Japan
- Prior art keywords
- search
- record
- index
- retrieval
- condition
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 5
- 238000004904 shortening Methods 0.000 description 2
- 241000219198 Brassica Species 0.000 description 1
- 235000003351 Brassica cretica Nutrition 0.000 description 1
- 235000003343 Brassica rupestris Nutrition 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- QKSKPIVNLNLAAV-UHFFFAOYSA-N bis(2-chloroethyl) sulfide Chemical compound ClCCSCCCl QKSKPIVNLNLAAV-UHFFFAOYSA-N 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 235000010460 mustard Nutrition 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
この発明は、コンピュータシステムなどで利用されてい
るデータベース管理システムにおけるインデックスを用
いたデータベース検索装置に関する。
るデータベース管理システムにおけるインデックスを用
いたデータベース検索装置に関する。
「従来の技術]
従来、いろいろな規模のコンピュータを利用して、大量
のデータを蓄積し整理して、コンピュータが処理しやす
い形にしたファイル又はその集合をデータベースとして
管理し、この管理を効率的に運用するためのいろいろな
種層のデータベース管理システムが開発されている。こ
のデータベース管理システムは、データの規模とか、目
的に応じて例えば、階層型データベース、関係型データ
ベース、組型データベースなどの検索、追加、更新など
を管理運用する。
のデータを蓄積し整理して、コンピュータが処理しやす
い形にしたファイル又はその集合をデータベースとして
管理し、この管理を効率的に運用するためのいろいろな
種層のデータベース管理システムが開発されている。こ
のデータベース管理システムは、データの規模とか、目
的に応じて例えば、階層型データベース、関係型データ
ベース、組型データベースなどの検索、追加、更新など
を管理運用する。
またこれらのデータベース管理システムを構築するため
の専用のプログラム言語(例えばSQL:5truct
ured Query language、関係型
データベース用に開発された言語)なども開発されてい
る。
の専用のプログラム言語(例えばSQL:5truct
ured Query language、関係型
データベース用に開発された言語)なども開発されてい
る。
以上のデータベースなどにおい′Cは、例えば複数の列
から構成されるレコード本体(以下、単にレコー・−ド
と呼ぶ)にレコー?−’識別符号(以上、レコードID
と呼ぶ)が付与されて登録されている。
から構成されるレコード本体(以下、単にレコー・−ド
と呼ぶ)にレコー?−’識別符号(以上、レコードID
と呼ぶ)が付与されて登録されている。
このレコ・・−ドを検索する装置どして、インデックス
が付す−された列の中から、所定の等号検索条件の数だ
けインデックス番号を付与9して、このインデックス番
号をもとに所望のレコードを検索するデータベ・−ス検
索装置は、以Fに示すよ・うな機能を有していた。
が付す−された列の中から、所定の等号検索条件の数だ
けインデックス番号を付与9して、このインデックス番
号をもとに所望のレコードを検索するデータベ・−ス検
索装置は、以Fに示すよ・うな機能を有していた。
第2図は、従来のデータベ・−ス検索装置の一楕成例を
示す図であり、また1、コードの構造例も示す。
示す図であり、また1、コードの構造例も示す。
従来のデータベース検索装置は、外部からレコー・ドを
形成する複数の列(図中、A1列〜A2列)に対する等
号及び不等号検索条件を受取り、デ・−タベース検索処
理を統括する検索処理部】−と、この検索処理部1から
等号条件を受取り、該当インデックスを検索し7、条件
に当てはまるレコードIDを検索処理部]5に一つ返却
するインデックス検索部4と、検索処理部]からレコ・
−ドIDを受取り、このし・コ・・−ドI Dに対応す
るL・コード本体を検索処理部1に出力−する1、・コ
・−ド検索部3から構成されていl、・。
形成する複数の列(図中、A1列〜A2列)に対する等
号及び不等号検索条件を受取り、デ・−タベース検索処
理を統括する検索処理部】−と、この検索処理部1から
等号条件を受取り、該当インデックスを検索し7、条件
に当てはまるレコードIDを検索処理部]5に一つ返却
するインデックス検索部4と、検索処理部]からレコ・
−ドIDを受取り、このし・コ・・−ドI Dに対応す
るL・コード本体を検索処理部1に出力−する1、・コ
・−ド検索部3から構成されていl、・。
次C=第3図の動作フ17・−チャートを用いで、第2
図に示した従来のデ〜タベ・−ス検索装置の処理の流れ
を説明する。従来のデータベース検索装置は、外部から
複数の列(A、L列〜A2列)Cご対する検索条件(例
えば、A1が〕00”C,A2が10000以十のレコ
ー ドを検索する。)を受取り(ステップ201>、受
取、つな検索条件の内、インデックス使用可能な等号検
索条件を選び出し、その個数を使用インデックス数とす
る(ステップ202)。、J1記検索条件の例の場合に
は等号検索条件の数は2になるので、使用インデックス
数は2どなる。
図に示した従来のデ〜タベ・−ス検索装置の処理の流れ
を説明する。従来のデータベース検索装置は、外部から
複数の列(A、L列〜A2列)Cご対する検索条件(例
えば、A1が〕00”C,A2が10000以十のレコ
ー ドを検索する。)を受取り(ステップ201>、受
取、つな検索条件の内、インデックス使用可能な等号検
索条件を選び出し、その個数を使用インデックス数とす
る(ステップ202)。、J1記検索条件の例の場合に
は等号検索条件の数は2になるので、使用インデックス
数は2どなる。
次に対象インデックス番号を1−とする初期化を行う(
ステップ203)。次に検索処理部jにおいて候補とな
る検索レコードに対応するレコー ドIDを示す候補レ
コードIDにNIL(しニア−ドIDがない状態)を代
入する(ステップ204>。
ステップ203)。次に検索処理部jにおいて候補とな
る検索レコードに対応するレコー ドIDを示す候補レ
コードIDにNIL(しニア−ドIDがない状態)を代
入する(ステップ204>。
次に対象インデックス番号と使用インデックス数の大小
比較を行う(ステップ205)。対象インデックス番号
が使用インデックス数(この例ζ′は2)よりも大きい
場合にはステップ2]]−へ進み、そうでない場合には
ステップ206へ進む。
比較を行う(ステップ205)。対象インデックス番号
が使用インデックス数(この例ζ′は2)よりも大きい
場合にはステップ2]]−へ進み、そうでない場合には
ステップ206へ進む。
ステップ2O6では、インデックス検索部4においてイ
ンデックス番号(この例の場合、最初、1゜で、次は2
)が示す列(この例の場合、最初A1列、次にA2列)
から等号条件を満たすレコ・−ドIDを1つ検索する。
ンデックス番号(この例の場合、最初、1゜で、次は2
)が示す列(この例の場合、最初A1列、次にA2列)
から等号条件を満たすレコ・−ドIDを1つ検索する。
検索処理部1は検索し、な結果を確認しくステップ20
7)、もしもレコードIDが無い場かには、ステップ2
15へ進み、そうでない場合にはステップ208へ進む
。この例においては、インデックス】が付さノー’j、
7?:AJ列には、等号条件を満たすレコードIDとし
て、2と3がある。
7)、もしもレコードIDが無い場かには、ステップ2
15へ進み、そうでない場合にはステップ208へ進む
。この例においては、インデックス】が付さノー’j、
7?:AJ列には、等号条件を満たすレコードIDとし
て、2と3がある。
ステップ208では、検索処理部1においてインデック
ス検索部4から受収−)な一つのレコードIDを検索1
/コードIDに代入する。次に検索レコ・・−ドI’D
ど候補レコードI I)の大小関係を確認しくステップ
209> 、検索し/コードIDか候補レコード11
I)よりも小さい場合にはステップ206へ進み、大き
い場合にはステップ203ノ\進み、等し、い場合及び
候補レコードIDがN I 1.、=の場合にはステッ
プ21−0へ進み、ここで対象・インデックス番号を1
加算し、更に前記検索レコード11)を候補レコ・−ド
IDに代入する。次にステップ205へ進む。
ス検索部4から受収−)な一つのレコードIDを検索1
/コードIDに代入する。次に検索レコ・・−ドI’D
ど候補レコードI I)の大小関係を確認しくステップ
209> 、検索し/コードIDか候補レコード11
I)よりも小さい場合にはステップ206へ進み、大き
い場合にはステップ203ノ\進み、等し、い場合及び
候補レコードIDがN I 1.、=の場合にはステッ
プ21−0へ進み、ここで対象・インデックス番号を1
加算し、更に前記検索レコード11)を候補レコ・−ド
IDに代入する。次にステップ205へ進む。
ステップ211では、検索処理部1において候補レコー
・−ドI D指定でレコード検索部3からレコードを検
索Jる。次にステップ212において、インデックス番
号が付与されていない列に対する残りの検索条件がある
かどうか確認し、残りの検索条件がある場合には、その
残りの検索条件を評価し5、真ならばステップ213へ
進み、偽ならばステップ203へ進む。
・−ドI D指定でレコード検索部3からレコードを検
索Jる。次にステップ212において、インデックス番
号が付与されていない列に対する残りの検索条件がある
かどうか確認し、残りの検索条件がある場合には、その
残りの検索条件を評価し5、真ならばステップ213へ
進み、偽ならばステップ203へ進む。
ステップ21−5では、バッファ内のレコードを全て検
索処理部]に返却し6、このデータベース検索装置の処
理を終了する。
索処理部]に返却し6、このデータベース検索装置の処
理を終了する。
例えば、この例の場合インデックス]が付されたA1−
列の検索においては、検索条件がA1=100であるの
で、レコードI D = 2が最初に検索される(ステ
ップ207)。次に検索レコード■Dに2が代入さh(
ステップ208> 、次にステップ209において検索
レコードID=2に対し、候補し=1−ドI D =
N I 1.=であるので、ステップ210に進み、こ
こで対象インデックス番号が1加算され2となり、更に
検索レコードID=2が候補レコードIDに代入される
。次にステップ205に進み、ここで対象インデックス
番号が2に対して、使用インデックス番号が2であるの
で、次にステップ206に進み、ここでインデックス番
号2が付さhたA2列に対し、で、等号検索条件A2=
10000のレコードIDを検索し、レコードIDの3
が一致するので、次にステップ208において、検索レ
コードIDに3が代入される。
列の検索においては、検索条件がA1=100であるの
で、レコードI D = 2が最初に検索される(ステ
ップ207)。次に検索レコード■Dに2が代入さh(
ステップ208> 、次にステップ209において検索
レコードID=2に対し、候補し=1−ドI D =
N I 1.=であるので、ステップ210に進み、こ
こで対象インデックス番号が1加算され2となり、更に
検索レコードID=2が候補レコードIDに代入される
。次にステップ205に進み、ここで対象インデックス
番号が2に対して、使用インデックス番号が2であるの
で、次にステップ206に進み、ここでインデックス番
号2が付さhたA2列に対し、で、等号検索条件A2=
10000のレコードIDを検索し、レコードIDの3
が一致するので、次にステップ208において、検索レ
コードIDに3が代入される。
次にステップ209において、検索レコードID−・3
に対し、て候補レコードID=2となっているので、こ
のステップの判断で、ステップ202に戻り、再びイン
デックス番号1についての検索を準備する。同時に候補
レコードIDをNILとし、再びステップ206に進み
、インデックス番号]が付されたA1列の中から、AI
=100を満たすレコードIDを検索し、この例におい
てはレコードID=2と、3が条件を満たすが、2につ
・いては前回の検索でA2列との間で検索条件を満たさ
なかったので、この回の検索においてはレコードID=
3が選ばれる。レコードID=3は、ステップ208に
おいて、検索レコードIDに代入される。次にステップ
209において、検索レコードID=3に対して、候補
レコードID二NILとなっているので、ステップ21
0に進み、このステップで対象インデックス番号が1加
算さhて2となり、更に前記検索レコードID=3が候
補レコードIDに代入される。次に再びステップ205
において、対象インデックス番号が2となっており、ま
た使用インデックス数は2であるので、1次にステップ
206に進む、このステップにおいては、インデックス
番号2が付さtたA2列の中から、A、 2 = 10
000を溝なすレコード■Dを検索し5、レコードID
=3が検索条件を満足するので、このレコードID=3
がステップ208において検索レコードIDに代入され
る。次にステップ209に進み、ここで検索レコードI
D・・3に対して候補レコード検索部3になっているの
で、一致すると、次にステップ210に進み、このステ
ップで対象インデックス番号が1加算され3となり、ま
な候補レコードIDは3となる。
に対し、て候補レコードID=2となっているので、こ
のステップの判断で、ステップ202に戻り、再びイン
デックス番号1についての検索を準備する。同時に候補
レコードIDをNILとし、再びステップ206に進み
、インデックス番号]が付されたA1列の中から、AI
=100を満たすレコードIDを検索し、この例におい
てはレコードID=2と、3が条件を満たすが、2につ
・いては前回の検索でA2列との間で検索条件を満たさ
なかったので、この回の検索においてはレコードID=
3が選ばれる。レコードID=3は、ステップ208に
おいて、検索レコードIDに代入される。次にステップ
209において、検索レコードID=3に対して、候補
レコードID二NILとなっているので、ステップ21
0に進み、このステップで対象インデックス番号が1加
算さhて2となり、更に前記検索レコードID=3が候
補レコードIDに代入される。次に再びステップ205
において、対象インデックス番号が2となっており、ま
た使用インデックス数は2であるので、1次にステップ
206に進む、このステップにおいては、インデックス
番号2が付さtたA2列の中から、A、 2 = 10
000を溝なすレコード■Dを検索し5、レコードID
=3が検索条件を満足するので、このレコードID=3
がステップ208において検索レコードIDに代入され
る。次にステップ209に進み、ここで検索レコードI
D・・3に対して候補レコード検索部3になっているの
で、一致すると、次にステップ210に進み、このステ
ップで対象インデックス番号が1加算され3となり、ま
な候補レコードIDは3となる。
次にステップ205に進み、このステップで、対象イン
デックス番号−3に対し、使用インデックス数:・2で
あるので、今度はステップ21】8に進み、このステッ
プで前記候補レコードIDの値が3であるので、候補レ
コードID=3指定で、レコード検索部3において、レ
コードID=3に対応するレコードを出力する。出力さ
れたレコードに対して、ステップ213において、他の
インデックス番号が付されていない列に対する検索条件
があれば、その検索条件を満たすかどうかを確認し、満
たすものがなければステップ203に戻り、他の検索条
件を満たすレコード■Dを検索する。
デックス番号−3に対し、使用インデックス数:・2で
あるので、今度はステップ21】8に進み、このステッ
プで前記候補レコードIDの値が3であるので、候補レ
コードID=3指定で、レコード検索部3において、レ
コードID=3に対応するレコードを出力する。出力さ
れたレコードに対して、ステップ213において、他の
インデックス番号が付されていない列に対する検索条件
があれば、その検索条件を満たすかどうかを確認し、満
たすものがなければステップ203に戻り、他の検索条
件を満たすレコード■Dを検索する。
ステップ212において条件を満たせばステップ213
に進み、このステップで前記候補レコードJD=3のレ
コードをバッファに格納して、次に再びステップ203
に戻り、他に検索条件を満たすレコードIDがないかど
うか前記と同様に検索を行う。
に進み、このステップで前記候補レコードJD=3のレ
コードをバッファに格納して、次に再びステップ203
に戻り、他に検索条件を満たすレコードIDがないかど
うか前記と同様に検索を行う。
[発明が解決しよ・うどする課題]
しかしながら、以上述べた従来のデータベース検索装置
は、次のような問題があった。すなわち、検索条件に等
号と不等号を含む場合に、等号と不等号の検索が同時に
できず、また等号条件のインデックス番号の列によって
候補となったレコードはすべてレコード検索部3におい
て、レコードを読み出して評価してから他の不等号条件
の評価(前記ステップ211〜212)をしなければな
らず、検索に時間がかかるという問題点があっな。
は、次のような問題があった。すなわち、検索条件に等
号と不等号を含む場合に、等号と不等号の検索が同時に
できず、また等号条件のインデックス番号の列によって
候補となったレコードはすべてレコード検索部3におい
て、レコードを読み出して評価してから他の不等号条件
の評価(前記ステップ211〜212)をしなければな
らず、検索に時間がかかるという問題点があっな。
例えば、次のようなSQL言語で書がれな検索文の場合
、 5ELECT* FROM R,l、 WHERE A1=100 AND A2<=10O00 この検索文は、表R1の中から、A1列が100で、A
2列が10000以干のレコードを検索する文であり、
A1=100の条件を満たすレコードをすべて読み出し
、て、検索処理部1においてA2=10000の条件を
満たずl、−□コードを評価し1、更にインデックス番
号が付与されていない他の列に対する検索条件を満たす
かどうかを評価する必要があるため時間がかかつていた
。
、 5ELECT* FROM R,l、 WHERE A1=100 AND A2<=10O00 この検索文は、表R1の中から、A1列が100で、A
2列が10000以干のレコードを検索する文であり、
A1=100の条件を満たすレコードをすべて読み出し
、て、検索処理部1においてA2=10000の条件を
満たずl、−□コードを評価し1、更にインデックス番
号が付与されていない他の列に対する検索条件を満たす
かどうかを評価する必要があるため時間がかかつていた
。
この発明は、以−ヒの課題に鑑み為されンi:ものであ
り、その目的とするところは、検索時間の短いデータベ
ース検索装置を提供することである。
り、その目的とするところは、検索時間の短いデータベ
ース検索装置を提供することである。
[課題を解決するための手段]
この発明は、以上の目的を達成するために、17、・コ
ー ドID検索処理を改良しな。
ー ドID検索処理を改良しな。
つまり、複数の列から構成されるI2・コ・−ドにlノ
コード識別符号を含み、インデックスが付与、された列
の中から所定の検索条件の数r+1(n]:整数)に対
応してイ〉・デツクス番号を前記列にm個付す。
コード識別符号を含み、インデックスが付与、された列
の中から所定の検索条件の数r+1(n]:整数)に対
応してイ〉・デツクス番号を前記列にm個付す。
し2、このインデクス番号をもとに前記所定の検索条件
を満足するL/ ニア −ドを検索するデータベース検
索装置において、最初にインテ・・ノクス番号1の列の
中から、前記検索条件を満戻するI2・コード派別符号
列を検索して出力し7、次に仁ンデ・・ノクス番号2の
列に対しで、前記Lトコ・−ド識別符号列の中から、前
記検索条件を溝足りるL2・コード識別符号列を検索し
、て出力し1.〕゛の検索をインテ・ソクス番号Inの
列まで実施しで、レコード識別符号列を出力するインデ
ックスフィルタ手段を有することを特徴とする。
を満足するL/ ニア −ドを検索するデータベース検
索装置において、最初にインテ・・ノクス番号1の列の
中から、前記検索条件を満戻するI2・コード派別符号
列を検索して出力し7、次に仁ンデ・・ノクス番号2の
列に対しで、前記Lトコ・−ド識別符号列の中から、前
記検索条件を溝足りるL2・コード識別符号列を検索し
、て出力し1.〕゛の検索をインテ・ソクス番号Inの
列まで実施しで、レコード識別符号列を出力するインデ
ックスフィルタ手段を有することを特徴とする。
「作用」
この発明によれば、外部から入力されたレコード内の複
数の列に対する所定の検索条件に基づき、レコ・−・−
ド内ζ′インデックスが付与されている列の中からイン
デックス番号をm個付与し、インテ・ンクスフィルタ手
段においで最初にインデックス番号1の列の中から、前
記検索条件を満足するレコードID列を検索し゛C出力
し、次にインデックス番号2の列に対して、前記出力さ
れた1/コ一ドJD列の中から、前記検索条件を満足す
る1ノコ一ド10列を検索して出力し、この検索をイン
デックス番号mの列までS施して、ト・コー ドI [
、)列を出力するので、従来のように1個ずつ検索条件
を満足するL/フロードIDを得るのではなく、同時に
複数のト・コードIDを得ることができる。
数の列に対する所定の検索条件に基づき、レコ・−・−
ド内ζ′インデックスが付与されている列の中からイン
デックス番号をm個付与し、インテ・ンクスフィルタ手
段においで最初にインデックス番号1の列の中から、前
記検索条件を満足するレコードID列を検索し゛C出力
し、次にインデックス番号2の列に対して、前記出力さ
れた1/コ一ドJD列の中から、前記検索条件を満足す
る1ノコ一ド10列を検索して出力し、この検索をイン
デックス番号mの列までS施して、ト・コー ドI [
、)列を出力するので、従来のように1個ずつ検索条件
を満足するL/フロードIDを得るのではなく、同時に
複数のト・コードIDを得ることができる。
[実施例コ
次にこの発明に係るデータベース検索装置の好適な−・
実施例を図面を用いて説明する。
実施例を図面を用いて説明する。
第1図は、この発明に係るデータベース検索装置の実施
例のブロック図を示す。第4図は第1図に示すデータベ
ース検索装置の動作を示すフローチャートである。
例のブロック図を示す。第4図は第1図に示すデータベ
ース検索装置の動作を示すフローチャートである。
この発明の実施例に係るデータベ・−ス検索装置は、外
部から複数の列に対する検索条件を受取りデ・−タベー
ス検索処理を管理する検索管理部5と、この検索管理部
5から検索条件値とレコードID列を受取り検索条件を
満たす+コードI i’、) 、ulを返却するインデ
ックスフィルタ部2と、検索管理部5からし・コードI
Dを受取りその1ノ:1−ドを検索するレコード検索部
3から構成される。
部から複数の列に対する検索条件を受取りデ・−タベー
ス検索処理を管理する検索管理部5と、この検索管理部
5から検索条件値とレコードID列を受取り検索条件を
満たす+コードI i’、) 、ulを返却するインデ
ックスフィルタ部2と、検索管理部5からし・コードI
Dを受取りその1ノ:1−ドを検索するレコード検索部
3から構成される。
次に第4図の動作ノL7−チャートを用いてこのデ・−
タベ〜ス検索装置の処理の澁り、を説明するit検索管
理部5が外部からレコード内の複数の列(A12列−・
〜A2列)に対する検索条件(例えばA1が100て′
、A2か10000以下のレコードを求める)をヘヂ収
る(ステップ402)。次に検索管理部5は等号及び不
等号の検索条件の個数(」1記の場合、2どする〉を使
用インデックス数どする(ステップ403)。次に検索
管理部5は対象インデックス番号を1として初期化する
(ステップ404 )。次に検索管理部5はレコード1
1−)列を字列(レコードがない状態)どし初期化を行
う(ステップ405)。次に検索管理部5は対象インデ
ックス番号と使用インデックス数(。I−記の場合・は
、2)の大小比較を行う(ステップ406)。こ1:で
対象インデックス番号が使用インデックス数(上記の場
合は、2)よりも大ならばステップ411へ進み、そう
でないならばステップ407へ進む。
タベ〜ス検索装置の処理の澁り、を説明するit検索管
理部5が外部からレコード内の複数の列(A12列−・
〜A2列)に対する検索条件(例えばA1が100て′
、A2か10000以下のレコードを求める)をヘヂ収
る(ステップ402)。次に検索管理部5は等号及び不
等号の検索条件の個数(」1記の場合、2どする〉を使
用インデックス数どする(ステップ403)。次に検索
管理部5は対象インデックス番号を1として初期化する
(ステップ404 )。次に検索管理部5はレコード1
1−)列を字列(レコードがない状態)どし初期化を行
う(ステップ405)。次に検索管理部5は対象インデ
ックス番号と使用インデックス数(。I−記の場合・は
、2)の大小比較を行う(ステップ406)。こ1:で
対象インデックス番号が使用インデックス数(上記の場
合は、2)よりも大ならばステップ411へ進み、そう
でないならばステップ407へ進む。
ステップ407では、検索管理部5は対象インデックス
番号の検索条件とレコードID列指定でインデックスフ
ィルタ部2に対して検索を依頼し、この条件を満たすレ
コードID列を検索し検索管理部らに出力する。ここで
インデックスフィルタ部2の出力しコードI II)列
が字列か否かの状態を確認しくステップ408>、レコ
ードID列が字列の場合にはステップ409へ進み検索
処理を終了する、そうでない場合には、ステップ410
へ進み検索処理を継続する。
番号の検索条件とレコードID列指定でインデックスフ
ィルタ部2に対して検索を依頼し、この条件を満たすレ
コードID列を検索し検索管理部らに出力する。ここで
インデックスフィルタ部2の出力しコードI II)列
が字列か否かの状態を確認しくステップ408>、レコ
ードID列が字列の場合にはステップ409へ進み検索
処理を終了する、そうでない場合には、ステップ410
へ進み検索処理を継続する。
ステップ410では、対象インデックス番号に1を加え
、前記ステップ406へ進み、加算された対象インデッ
クス番号で、検索を継続する。
、前記ステップ406へ進み、加算された対象インデッ
クス番号で、検索を継続する。
ステップ409では、該当レコードなし応答を検索管理
部5に出力し、このデータベース検索装置処理を終了す
る。
部5に出力し、このデータベース検索装置処理を終了す
る。
ステップ411では、検索管理部5においてレコードI
D列に対応するレコードを、レコードID列定でレコー
ド検索部3で検索し1、所望のレコードを得て検索管理
部5に出力して、このデータベース検索装置の処理を終
了する。
D列に対応するレコードを、レコードID列定でレコー
ド検索部3で検索し1、所望のレコードを得て検索管理
部5に出力して、このデータベース検索装置の処理を終
了する。
したが−って、前記インデックス番号に対応する回数(
2回)、ステップ406−407→408→410のル
ープで示される処理を検索管理部5とインデックスフィ
ルタ部2との間で行い、レコードIDの検索処理を行う
。つまり、ステップ407においてインデックス1が付
されているA1列において、検索条件を満たすレコード
IDが、2と3であることがわかる。次にステップ4】
0において対象インデックス番号を2にして、再びステ
ップ407において、対象インデックス番号2が付され
たA2列において、前記レコード11)2と3について
、検索条件を満たずレコードIDを検索して、この例に
おいてはレコードIDの3が一致することがわかる。
2回)、ステップ406−407→408→410のル
ープで示される処理を検索管理部5とインデックスフィ
ルタ部2との間で行い、レコードIDの検索処理を行う
。つまり、ステップ407においてインデックス1が付
されているA1列において、検索条件を満たすレコード
IDが、2と3であることがわかる。次にステップ4】
0において対象インデックス番号を2にして、再びステ
ップ407において、対象インデックス番号2が付され
たA2列において、前記レコード11)2と3について
、検索条件を満たずレコードIDを検索して、この例に
おいてはレコードIDの3が一致することがわかる。
次に前記所定の検索条件を満たすレコードIDとして3
がインデックスフィルタ部2で検索されれば、ステップ
4]71でそのレコードI i)の3で指定され、レコ
ード検索部3からそのしコード■Dの3に対応するレコ
ードを得ることができるが、前記所定の条件を満たすレ
コードがインデックスフィルタ部2で検索されない場合
は、ステップ409で該当なしとして検索処理を終了す
る。
がインデックスフィルタ部2で検索されれば、ステップ
4]71でそのレコードI i)の3で指定され、レコ
ード検索部3からそのしコード■Dの3に対応するレコ
ードを得ることができるが、前記所定の条件を満たすレ
コードがインデックスフィルタ部2で検索されない場合
は、ステップ409で該当なしとして検索処理を終了す
る。
次に具体的なデータ数値例を挙げて、従来のデータベー
ス検索装置とこの実施例のデータベース検索装置で、検
索時間がどれだけ短縮できるかを以下に説明する。
ス検索装置とこの実施例のデータベース検索装置で、検
索時間がどれだけ短縮できるかを以下に説明する。
次のSQL言語で書かれた検索文の処理で駒検索装置の
検索時間を求める。
検索時間を求める。
5ELECT*
FR,OM RI
WHERE A1=100
AND A2<=10000
ここで、次のように定義する。
N (A、1):A1=100を満たすR]のレコード
の個数、 N(Al&A2):A1=100 AND A2<
=10000を満たすR11のレコードの個数、N(A
2):A2<=10000を満たすR1のレコードの個
数とし、次にそれぞノt、tニレコード検索部3におい
てJレコード検索する時間、 ′1’(AI):インデックス検索部4において、A1
=100を満たすレコードI I)を1つ検索する時間
、 ”1” A l、1.、、、 (A 1 ) :インデ
ックスフィルタ部2において、A 1 = 100を満
たすレコードIDをすべて検索する時間、 TALL、(AI&A2):インデックスフィルタ部2
において、A1=100 AND A2<−1oo
ooを満たすレコードIDをすべて検索する時間とする
。
の個数、 N(Al&A2):A1=100 AND A2<
=10000を満たすR11のレコードの個数、N(A
2):A2<=10000を満たすR1のレコードの個
数とし、次にそれぞノt、tニレコード検索部3におい
てJレコード検索する時間、 ′1’(AI):インデックス検索部4において、A1
=100を満たすレコードI I)を1つ検索する時間
、 ”1” A l、1.、、、 (A 1 ) :インデ
ックスフィルタ部2において、A 1 = 100を満
たすレコードIDをすべて検索する時間、 TALL、(AI&A2):インデックスフィルタ部2
において、A1=100 AND A2<−1oo
ooを満たすレコードIDをすべて検索する時間とする
。
このとき、従来のデータベース検索装置の検索処理時間
を(OLD TIME>とすると、およそ次のように
なる。
を(OLD TIME>とすると、およそ次のように
なる。
N (Al)T (Al)+N (Al)t ・・・
・・・・・・・・・・・・・・・・・(1式)どなり、
またこの実施例に係るデータベ・−ス検索装置の検索処
理時間を(NEW ’丁IFI/IE)とすると、お
よそ次のようになる。
・・・・・・・・・・・・・・・・・(1式)どなり、
またこの実施例に係るデータベ・−ス検索装置の検索処
理時間を(NEW ’丁IFI/IE)とすると、お
よそ次のようになる。
′丁A L、 l、 (Al )−1−、TAi、−
1−(Al&A2) 4N <Al&A2)t どなる。、ここて′、 N (A2 N0DE):A2のインデックスの1ノ
ード内のインデックス値の個数 とすると、TAL、、L、、、 (A l &A2 >
は、およそ次のように表さ)′しる。
1−(Al&A2) 4N <Al&A2)t どなる。、ここて′、 N (A2 N0DE):A2のインデックスの1ノ
ード内のインデックス値の個数 とすると、TAL、、L、、、 (A l &A2 >
は、およそ次のように表さ)′しる。
(N (A2)/N (A2 N0DE)
) tと表され、NEW TIMEは、およそ次の
ように展開され表される。
) tと表され、NEW TIMEは、およそ次の
ように展開され表される。
TAL、L (Al)+ (N (AI&A2> 十N
(A2)/N (A2 N0DE>)t ・・・・
・・・・・・ ・・・・・・・・・・・(2式)%式% ここで前記(1式)と(2式)を比較すると前記N (
Al)T (Al>と前記TALJ−(Al>はほぼ等
しい。そこで残るN(Al)iと(N(A1.&A2)
+N(A2)、、、’N(A2 N0DE>>tを比
較する。
(A2)/N (A2 N0DE>)t ・・・・
・・・・・・ ・・・・・・・・・・・(2式)%式% ここで前記(1式)と(2式)を比較すると前記N (
Al)T (Al>と前記TALJ−(Al>はほぼ等
しい。そこで残るN(Al)iと(N(A1.&A2)
+N(A2)、、、’N(A2 N0DE>>tを比
較する。
通常、2つ[1の検索条件であるA2<=1.0000
1;=よって検索の絞り込みが行わ九るので、前記(1
式)はその絞り込みが成されておらず、しかしながら前
記(2式)においては、その絞り込みが成されているた
め、この実施例【、二よるデ・−タベース検索装置によ
る検索処理時間の力が短くなる。
1;=よって検索の絞り込みが行わ九るので、前記(1
式)はその絞り込みが成されておらず、しかしながら前
記(2式)においては、その絞り込みが成されているた
め、この実施例【、二よるデ・−タベース検索装置によ
る検索処理時間の力が短くなる。
例えば、表R1のレコー ド数を100万とjl、5、
N (A、1 ) = i、 O万゛、 N
(A2) ニー 50万、 N(Al&A2)
二・ 5 万 、 N (A2 N0
DE> =50とすると、 01、 [I T II M E−NEW TIM
E=N(Al)t〜 (N (AU−&A2>→−N
(A2>/N’(A、2 MODE>)を二 ]、00000−(50000+5000(’)015
0)t・− =1.0000 t− どなり、この分だけ従来のデータベース検索装置に比べ
、この実施例に係るデータベース検索装置のデータベー
ス検索時間が極めて短くなることが示さtする。
N (A、1 ) = i、 O万゛、 N
(A2) ニー 50万、 N(Al&A2)
二・ 5 万 、 N (A2 N0
DE> =50とすると、 01、 [I T II M E−NEW TIM
E=N(Al)t〜 (N (AU−&A2>→−N
(A2>/N’(A、2 MODE>)を二 ]、00000−(50000+5000(’)015
0)t・− =1.0000 t− どなり、この分だけ従来のデータベース検索装置に比べ
、この実施例に係るデータベース検索装置のデータベー
ス検索時間が極めて短くなることが示さtする。
以り示した実施例のデータベ・−ス検索装置を利用すれ
ば、コンピュータシステムにおけるデータベース検索や
、その他のいろいろなデータベ・−ス検索を含むシステ
ムに応用して、検索時間を短縮化するという効果をもた
らす。
ば、コンピュータシステムにおけるデータベース検索や
、その他のいろいろなデータベ・−ス検索を含むシステ
ムに応用して、検索時間を短縮化するという効果をもた
らす。
[発明の効果]
以」二述べたようにごの発明によれば、次のような効果
を発揮する。
を発揮する。
所定の検索条件とレコードID列を入力し7、その検索
条件を満たすI/コードID列を出力するインデックス
フィルタ部をデータベース検索装置に有することによっ
て、等号条件以外の検索条件が複数指定さtlていても
、複数のインデックスを効果的に検索に使用することが
できるので、検索条件を満たさないレコードを読み出す
ことなく、従来に比べ短時間に効率的なデータベース検
索かり能になる。
条件を満たすI/コードID列を出力するインデックス
フィルタ部をデータベース検索装置に有することによっ
て、等号条件以外の検索条件が複数指定さtlていても
、複数のインデックスを効果的に検索に使用することが
できるので、検索条件を満たさないレコードを読み出す
ことなく、従来に比べ短時間に効率的なデータベース検
索かり能になる。
し、たが−・)で、データベ・−ス管理システムにおけ
る、検索時間を短縮化させるとい・う効果がある。
る、検索時間を短縮化させるとい・う効果がある。
第1図はこの発明に係るデ・−タベース検索装置の実施
例のプロ・・ツク図、第2図は従来のデータベース検索
装置のブロック図、第3図は第2図に示す従来のデータ
ベース検索装置の動作の流れを示す動作71.7=〜チ
ヤー ト、第4図は第1図に示す実施例に係るデータベ
・−ス検索装置の動作の流れを示す動作フローナy
hである。 図中、1・・・検索処理部、2・・・インデックスフィ
ルタ部、3・・+コード検索部、4・・・インデックス
検索部、5・・・検索管理部である。
例のプロ・・ツク図、第2図は従来のデータベース検索
装置のブロック図、第3図は第2図に示す従来のデータ
ベース検索装置の動作の流れを示す動作71.7=〜チ
ヤー ト、第4図は第1図に示す実施例に係るデータベ
・−ス検索装置の動作の流れを示す動作フローナy
hである。 図中、1・・・検索処理部、2・・・インデックスフィ
ルタ部、3・・+コード検索部、4・・・インデックス
検索部、5・・・検索管理部である。
Claims (1)
- 【特許請求の範囲】 複数の列から構成されるレコードにレコード識別符号を
含み、インデックスが付与された列の中から所定の検索
条件の数m(m:整数)に対応してインデックス番号を
前記列にm個付与し、このインデクス番号をもとに前記
所定の検索条件を満足するレコードを検索するデータベ
ース検索装置において、 最初にインデックス番号1の列の中から、前記検索条件
を満足するレコード識別符号列を検索して出力し、次に
インデックス番号2の列に対して、前記レコード識別符
号列の中から、前記検索条件を満足するレコード識別符
号列を検索して出力し、この検索をインデックス番号m
の列まで実施して、レコード識別符号列を出力するイン
デックスフィルタ手段を有することを特徴とするデータ
ベース検索装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2318133A JPH04199275A (ja) | 1990-11-26 | 1990-11-26 | データベース検索装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2318133A JPH04199275A (ja) | 1990-11-26 | 1990-11-26 | データベース検索装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04199275A true JPH04199275A (ja) | 1992-07-20 |
Family
ID=18095873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2318133A Pending JPH04199275A (ja) | 1990-11-26 | 1990-11-26 | データベース検索装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04199275A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002163289A (ja) * | 2000-09-27 | 2002-06-07 | Microsoft Corp | 関数に基づく比較を有するクエリのためのインデックスの使用 |
JP2015532748A (ja) * | 2012-08-20 | 2015-11-12 | オラクル・インターナショナル・コーポレイション | フィルタリング/射影動作のハードウェア実装 |
-
1990
- 1990-11-26 JP JP2318133A patent/JPH04199275A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002163289A (ja) * | 2000-09-27 | 2002-06-07 | Microsoft Corp | 関数に基づく比較を有するクエリのためのインデックスの使用 |
JP2015532748A (ja) * | 2012-08-20 | 2015-11-12 | オラクル・インターナショナル・コーポレイション | フィルタリング/射影動作のハードウェア実装 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103282902B (zh) | 字尾数组候选选择和索引数据结构 | |
US7158996B2 (en) | Method, system, and program for managing database operations with respect to a database table | |
US7613701B2 (en) | Matching of complex nested objects by multilevel hashing | |
US7080091B2 (en) | Inverted index system and method for numeric attributes | |
US20080319958A1 (en) | Dynamic Metadata based Query Formulation for Multiple Heterogeneous Database Systems | |
CN105893597B (zh) | 一种相似病历检索方法及系统 | |
US20110225205A1 (en) | Multi-query optimization | |
EP3289484B1 (en) | Method and database computer system for performing a database query using a bitmap index | |
US20240104101A1 (en) | Record matching system | |
US20070073759A1 (en) | Methods and systems for joining database tables using indexing data structures | |
US20040139072A1 (en) | System and method for locating similar records in a database | |
CN103729392A (zh) | 查询优化方法及查询编译器 | |
CA2363187A1 (en) | Index sampled tablescan | |
US20200311061A1 (en) | System and method for subset searching and associated search operators | |
US7080072B1 (en) | Row hash match scan in a partitioned database system | |
US7756798B2 (en) | Extensible mechanism for detecting duplicate search items | |
JP2001331509A (ja) | リレーショナルデータベース処理装置、リレーショナルデータベースの処理方法及びリレーショナルデータベースの処理プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN113918605A (zh) | 数据查询方法、装置、设备以及计算机存储介质 | |
JPH09245043A (ja) | 情報検索装置 | |
JPWO2007020849A1 (ja) | 共有メモリ型マルチプロセッサシステム及びその情報処理方法 | |
JPWO2012164738A1 (ja) | データベース管理システム、装置及び方法 | |
KR102613523B1 (ko) | 메모리 내 효율적인 다단계 검색 | |
JPH04199275A (ja) | データベース検索装置 | |
US6694324B1 (en) | Determination of records with a specified number of largest or smallest values in a parallel database system | |
JPH09198396A (ja) | 文書検索装置 |