JPH07105223A - データベース検索装置 - Google Patents

データベース検索装置

Info

Publication number
JPH07105223A
JPH07105223A JP5275010A JP27501093A JPH07105223A JP H07105223 A JPH07105223 A JP H07105223A JP 5275010 A JP5275010 A JP 5275010A JP 27501093 A JP27501093 A JP 27501093A JP H07105223 A JPH07105223 A JP H07105223A
Authority
JP
Japan
Prior art keywords
search
key
database
keys
retrieval
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
Application number
JP5275010A
Other languages
English (en)
Inventor
Yuji Honda
祐司 本多
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP5275010A priority Critical patent/JPH07105223A/ja
Publication of JPH07105223A publication Critical patent/JPH07105223A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 検索条件が複数のキーの論理積を含む場合に
可能な限り検索時間を短縮することができる。 【構成】 データベース作成時に予め同一のキーを持つ
ものの出現回数をキーの内容と対応させて蓄積してお
く。論理積を含む検索条件が入力された場合には、検索
キーについてそれぞれキー数表示部12を参照し、その
キーの出現件数を調べる。そして、出現件数の少ないキ
ーから順番に検索を行い、早期にデータの絞り込みをす
る。アンド条件を用いて結合されたキーは検索順序を入
れ換えても結果は同じであるから、このように検索命令
を書き換えて検索処理部5によるデータの検索処理を高
速化できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理装置を用いて
データベースを検索する場合の検索速度の向上を図った
データベース検索装置に関する。
【0002】
【従来の技術】多量の情報を蓄積して利用するために、
情報処理装置を用いたデータベース検索装置が広く使用
されている。図2に、一般のデータベース検索装置ブロ
ック図を示す。この装置は、データベース6を検索する
ための検索条件入力部1に、ディスプレイ2と、キーボ
ード3とマウス4を備えている。また、このような検索
条件を用いて検索処理を実行するために検索処理部5が
設けられている。検索対象となるデータベース6はハー
ドディスク等の大容量記憶装置に格納されている。な
お、検索処理部5は具体的にはマイクロプロセッサや入
出力装置等から成るパーソナルコンピュータやワークス
テーションから構成される。
【0003】このようなデータベース6に蓄積された情
報を利用しようとする場合には、キーボード3やマウス
4を用いてデータを取り出すためのキーを入力し、検索
処理部5はこのキーが一致したデータをデータベース6
から検索し、ディスプレイ2に表示する。上記のような
データベース検索装置の構成として、リレーショナルデ
ータベースシステムが知られており、このシステムでは
検索作業を容易にするためにSQL言語が採用されてい
る。
【0004】図3に、上記のようなデータベースの一例
として住所録のデータベース例説明図を示す。データベ
ースは、例えばこの図に示すように、氏名、住所、年
齢、職業、電話番号、性別といった項目(これを属性名
という)に対応する内容を組み合わせて構成される。
【0005】図4に、データベース検索命令説明図を示
す。SQL言語により検索条件を記述すると、例えばこ
の図に示すようになる。即ち、この図では、住所録とい
う表から、住所が東京都で、性別は男で、年齢は30歳
という条件を満たすデータを読み出し、その氏名と電話
番号を求めるという内容の命令である。図2に示すデー
タベース検索装置は、このような要求を受け入れると、
命令文を先頭から順に解析し、まず住所が東京都である
レコードを選択し、その中で性別が男であるレコードを
選択し、最後に年齢が30であるレコードを選択する。
その結果、図3に示す住所録の5番目のレコードが出力
として取り出される。
【0006】
【発明が解決しようとする課題】ところで、上記のよう
な従来のデータベース検索装置には次のような解決すべ
き課題があった。上記のようなSQL言語によるデータ
ベース検索命令は、図4に示したような形式で記述さ
れ、その記述された順番に検索が実行される。即ち、図
4に示す例では、住所と性別と年齢について順に検索キ
ーが指定されているが、検索はその記述順に住所、性
別、年齢というように実行される。
【0007】しかしながら、例えば図3に示す住所録の
データベースにおいて、住所が東京都に該当するレコー
ドが極めて多い場合には、最初のキーを用いた検索では
データベース全体の量に比べてあまり絞り込みを行なう
ことができない。即ち、その次のキーである性別による
選択の対象は住所のキーが東京都であるレコード全体と
なる。これには1回目の検索処理とそれほど変わらない
検索時間が必要となる。これは一般にセレクタビリティ
が悪いというように表現され、検索速度が遅くなる原因
となる。
【0008】例えばデータベース全体の70パーセント
が、住所が東京都であるというキーに合致したレコード
であり、50パーセントが性別が男であるというキーに
合致したものであるとすれば、性別が男であるというキ
ーについての検索を先に行なえば、その後の検索対象が
データベース全体の2分の1に絞り込める。また、年齢
が30というキーを最初に用いて検索を行なえば、更に
十分な絞り込みを1回で行ない、その後の検索時間を短
縮できる場合がある。
【0009】従って、オペレータは上記のようなアンド
条件、即ち検索条件が複数のキーの論理積を含むような
場合に、どのキーを最初に検索に用いると検索時間が短
縮されるかをある程度予測してSQL言語を作成するよ
うにすることが好ましい。しかしながら、これでは、デ
ータベースの内容を認識している者と、データベースの
内容を知らない者との検索処理時間が大きく相違してし
まう。
【0010】本発明は以上の点に着目してなされたもの
で、検索条件が複数のキーの論理積を含む場合に可能な
限り検索時間を短縮することができるデータベース検索
装置を提供することを目的とするものである。
【0011】
【課題を解決するための手段】本発明のデータベース検
索装置は、データベース中に格納されたデータのうち同
一のキーをもつものの出現件数を、各キーの内容と対応
させて表示するキー数表示部と、前記データベースの検
索条件を入力する検索条件入力部と、前記検索条件が複
数のキーの論理積を含む場合に、前記キー数表示部を参
照して、入力された検索条件中に含まれる複数のキーの
前記出現件数を読み取り、入力された検索条件に従って
検索を実行する場合に、前記出現件数の少ないキーを優
先して検索を実行するように検索順を設定する検索順設
定部を備えたことを特徴とするものである。
【0012】
【作用】この装置では、データベース作成時に予め同一
のキーを持つものの出現回数をキーの内容と対応させて
蓄積しておく。論理積を含む検索条件が入力された場合
には、検索キーについてそれぞれキー数表示部を参照
し、そのキーの出現件数を調べる。そして、出現件数の
少ないキーから順番に検索を行い、早期にデータの絞り
込みをする。アンド条件を用いて結合されたキーは、検
索順序を入れ換えても結果は同じであるから、このよう
に検索命令を書き換えてデータの検索処理を高速化でき
る。
【0013】
【実施例】以下、本発明を図の実施例を用いて詳細に説
明する。図1は、本発明のデータベース検索装置実施例
を示すブロック図である。この装置は、従来装置同様
に、ディスプレイ2やキーボード3、マウス4等を用い
て検索条件入力部1を構成する。また、データベース6
を検索するために、キー数解析部11、キー数表示部1
2、検索順設定部13及び検索処理部5を設ける。
【0014】検索条件入力部1は検索条件をSQL言語
を用いて入力し、検索結果をディスプレイ2に表示する
といった操作を行なう部分である。なお、本発明の装置
は、データベース6を利用するアプリケーションがこの
ような検索用の言語を直接自動的に入力するような構成
としても差し支えない。キー数解析部11は、データベ
ース6を生成し、蓄積し、あるいは更新する場合等に、
本発明の実施に必要なキー数表示部12を生成する処理
を行なう部分である。
【0015】図5に、キー数表示部の内容説明図を示
す。本発明において、例えば図3に示すような住所録の
データベースを生成する場合には、予めその生成の際
に、同一のキーを持つものの出現件数をそのキーの内容
と対応させてキー数表示部に登録する。
【0016】例えば、この図に示すように、住所録とい
う表では、属性名が住所で属性値が東京都であるもの
は、そのデータ入力累積件数が 9,000というように表示
されている。また、属性名が年齢の場合、その属性値が
20というものの出現件数は 1,500件というように表示
されている。このような内容のデータをキー数表示部1
2に格納しておく。キー数解析部11はこのキー数表示
部12を生成するために、例えば図6に示すような動作
を実行する。
【0017】図6は、キー数解析部の動作フローチャー
トである。まず、始めにステップS1において、入力デ
ータを受け付ける。この入力データは、例えば図1に示
す検索条件入力部1から入力されたり、あるいは他の情
報処理装置から転送されるものとする。
【0018】ここで、図6のステップS2において、キ
ー数表示部の作成が新規であるかどうかを判断する。即
ち、キー数表示部が全く生成されていない場合には、ス
テップS3に移り、表の定義を元に図5に示した要領で
キー数表示部の枠組みを作成する。図5に示すような形
式のキー数表示部が既に作成されていれば、ステップS
2からステップS4に移り、入力データの全ての項目に
ついて処理が終了したかどうかを判断する。
【0019】まず、入力データの処理の内容について、
ステップS5において、そのデータが更新か挿入かを判
断する。更新であれば古いデータに関する件数を減らす
(ステップS6)。挿入であれば、直接ステップS7に
移り、新データに対応する件数を増やす。
【0020】即ち、例えば図5に例示した住所録に関す
るキー数表示部のデータで、年齢が20の入力データを
受け付けた場合に、これが元のデータを更新するような
ものであれば、一旦出現件数 1,500から1を引算する。
そして、ステップS7において、新たにこの件数 1,500
に1を加える。一方、新しいデータを追加挿入するよう
な場合には、元の出現件数 1,500に1を加える。以上の
ようにして図1に示すキー数解析部11はキー数表示部
12の各出現件数を累積しながら更新する。
【0021】次に、図1に示す検索順設定部13の動作
を説明する。この検索順設定部13はキー数表示部12
を参照しながら、データベース検索命令の検索キーの順
番を検索速度が最も速くなるように置き換える。図7
に、上記のような検索順設定部13の動作及びその後の
検索処理部5の動作を説明するフローチャートを図示し
た。
【0022】まず、ステップS1において、検索順設定
部13が検索条件入力部1から検索条件を受け付ける。
そして、ステップS2において、アンドで結ばれた複数
の条件が含まれているかどうかを判断する。本発明にお
いては、検索条件が複数のキーの論理積を含む場合に有
効であって、全てが論理和の場合には効果がない。ステ
ップS3において、まず、条件数分の処理を繰り返した
かどうかを判断する。即ち、全てのキーについての処理
を処理を終了したかどうかを判断する。そして、未だ終
了していなければステップS4に移り、1つのキーを取
り出し、まずキー数表示部12を参照してこの条件に合
致するキーの出現件数を求める。
【0023】次に、ステップS3に移り、再び全てのキ
ーについての処理が終了したかを判断する。即ち、この
ステップS3、S4において、全てのキーについて、そ
の出現件数を求めた上で、ステップS5に移る。今度
は、ステップS5で、出現件数の少ない順にそれぞれの
キーを用いた検索式を並べ換える。即ち、最も出現件数
の少ないキーを最初に検索し、その後その次に出現件数
の多いキーを用いた検索を行なうといった要領で、複数
の検索キーを並べ換える。
【0024】図8に、書き換えられた検索命令文説明図
を示す。検索順設定部13は、具体的には、この図に示
すように、図4に示したような検索命令の住所、性別、
年齢といったキー順を、年齢、性別、住所という順番に
置き換えている。その後、この命令文が従来と同様の構
成の検索処理部5に供給され、図7ステップS6におい
て、実際の検索が実行される。
【0025】図9に、本発明の効果の説明図を示す。図
9(a)に示したとおり、一定の量のデータベースにつ
いて条件Aと条件Bとがアンド条件で結ばれているよう
な場合、条件Aに合致する件数が非常に多いと、次の条
件Bでの絞り込みはこの条件Aに合致した件数のレコー
ドが対象となる。これに対し、図9(b)に示すよう
に、条件Bに合致するレコード件数が条件Aに合致する
レコード件数よりも少ない場合には、始めに条件Bのキ
ーを用いて検索することにより十分対象件数を絞り込
み、更に条件Aを用いて検索を実行するため、2回目の
検索対象件数が減少し、検索速度の向上が図られる。
【0026】例えば、図4や図8の検索式による検索対
象となるデータベースの元データ件数が10,000件であっ
たとする。この場合に、図5に示すように、東京都とい
うキーの出現回数は 9,000件で90パーセント、性別が
男であるキーの出現件数は50パーセント、年齢が30
であるキーの出現件数は10パーセントとなっている。
従って、図4に示すような検索文で検索を実行すると、
始めの検索で10,000件を検索し、住所が東京都というデ
ータを 9,000件に絞り、次の性別の検索によりこれを
4,500件に絞り、最後に年齢を検索して 450件を抽出す
る。従って、この間のデータベースによる検索処理は1
0,000+ 9,000+ 4,500となり、合計23,500件分のキー
比較を行なうことになる。
【0027】一方、本発明の装置によれば、予め検索順
を入れ換え、最初の検索で10,000件について年齢が30
のものを抽出し 1,000件に絞り、次の性別の検索により
これを 500件に絞り、最後の住所の検索によって 450件
を抽出する。従って、この場合、10,000+ 1,000+ 500
となり、11,500件のキー比較によって検索処理が終了す
る。この結果、検索回数は従来装置による場合と本発明
の装置による場合とでは半分以下となる。しかも、本発
明の装置はキー数表示部を参照することによって検索条
件の最適化を行なうため、データベースの内容をよく知
っているものも、また知らないものも常に自動的に最適
の条件を選択して検索を実行することが可能になる。
【0028】本発明は以上の実施例に限定されない。上
記実施例では、検索条件入力部とデータベースを1個ず
つ設けたシステムを示したが、複数の検索条件入力部が
存在し、あるいは多数のデータベースが通信回線等を介
して接続された大規模なシステムにも採用が可能であ
る。検索処理は、ディスプレイやキーボード等を用いた
ターミナルによる場合の他、その他のアプリケーション
プログラム等による自動的な処理でも差し支えない。
【0029】また、検索条件を設定するためのデータベ
ース検索命令文は必ずしもSQL言語による必要はな
い。キー数表示部の構成は、同一のキーについて何件の
データが存在するかを表すものであればどのような形式
のものであってもよい。また、キー数表示部にはデータ
ベースの全てのキーを格納する必要はなく、検索速度向
上に役立つような比較的頻繁に使用されるキーのみを選
択して登録表示するようにしてもよい。
【0030】出現件数の少ないキーを優先して検索を実
行する場合に、検索文自体を書き換えなくても、検索文
はそのままにし、検索順のみを最適化するようにしても
よい。更に、順序を入れ換えても検索速度の改善が著し
くないような場合には、必ずしも全ての検索順を最適化
する必要はない。また、出現件数をキー数表示部に登録
する方法は、新たにデータを1件分入力する度に行なう
方法の他、登録済みのデータベースを一定のプログラム
によって検索処理して集計するようにしても構わない。
【0031】
【発明の効果】以上説明した本発明のデータベース検索
装置は、データベース中に格納されたデータのうち同一
のキーを持つものの出現件数を各キーの内容と対応させ
て表示するキー数表示部と、データベースの検索条件が
複数のキーの論理積を含む場合に、キー数表示部を参照
して入力された検索条件中に含まれる複数のキーの出現
件数を読み取り、出現件数の少ないキーを優先して検索
を実行するように検索順を設定する検索順設定部を設け
るようにしたので、任意に複数のキーをアンド条件で結
んで検索要求をした場合に、自動的に検索順が最適化さ
れ、検索処理時間を短縮することができる。
【図面の簡単な説明】
【図1】本発明のデータベース検索装置実施例を示すブ
ロック図である。
【図2】一般のデータベース検索装置ブロック図であ
る。
【図3】データベース例説明図である。
【図4】データベース検索命令文説明図である。
【図5】キー数表示部の内容説明図である。
【図6】キー数解析部の動作フローチャートである。
【図7】本発明の装置の動作フローチャートである。
【図8】書き換えられた検索命令文説明図である。
【図9】本発明の効果の説明図である。
【符号の説明】
1 検索条件入力部 5 検索処理部 6 データベース 11 キー数解析部 12 キー数表示部 13 検索順設定部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 データベース中に格納されたデータのう
    ち同一のキーをもつものの出現件数を、各キーの内容と
    対応させて表示するキー数表示部と、 前記データベースの検索条件を入力する検索条件入力部
    と、 前記検索条件が複数のキーの論理積を含む場合に、前記
    キー数表示部を参照して、入力された検索条件中に含ま
    れる複数のキーの前記出現件数を読み取り、入力された
    検索条件に従って検索を実行する場合に、前記出現件数
    の少ないキーを優先して検索を実行するように検索順を
    設定する検索順設定部を備えたことを特徴とするデータ
    ベース検索装置。
JP5275010A 1993-10-06 1993-10-06 データベース検索装置 Pending JPH07105223A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5275010A JPH07105223A (ja) 1993-10-06 1993-10-06 データベース検索装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5275010A JPH07105223A (ja) 1993-10-06 1993-10-06 データベース検索装置

Publications (1)

Publication Number Publication Date
JPH07105223A true JPH07105223A (ja) 1995-04-21

Family

ID=17549631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5275010A Pending JPH07105223A (ja) 1993-10-06 1993-10-06 データベース検索装置

Country Status (1)

Country Link
JP (1) JPH07105223A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006164123A (ja) * 2004-12-10 2006-06-22 Fuji Xerox Co Ltd 文書検索装置および方法
JP2009524852A (ja) * 2005-11-23 2009-07-02 ダン アンド ブラッドストリート インコーポレイテッド 表意文字内容を有するデータを探索およびマッチングするためのシステムおよび方法
WO2013145016A1 (ja) * 2012-03-29 2013-10-03 富士通株式会社 判定装置、判定システム、判定方法および判定プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006164123A (ja) * 2004-12-10 2006-06-22 Fuji Xerox Co Ltd 文書検索装置および方法
JP2009524852A (ja) * 2005-11-23 2009-07-02 ダン アンド ブラッドストリート インコーポレイテッド 表意文字内容を有するデータを探索およびマッチングするためのシステムおよび方法
WO2013145016A1 (ja) * 2012-03-29 2013-10-03 富士通株式会社 判定装置、判定システム、判定方法および判定プログラム
JPWO2013145016A1 (ja) * 2012-03-29 2015-08-03 富士通株式会社 判定装置、判定システム、判定方法および判定プログラム
US9971968B2 (en) 2012-03-29 2018-05-15 Fujitsu Limited Determination method, system and recording medium

Similar Documents

Publication Publication Date Title
US20210210213A1 (en) Method, apparatus, medium and electronic device for recommending medicine
JPH06309362A (ja) 情報検索方法
US20070106767A1 (en) Database device database search device, and method thereof
JP3356519B2 (ja) 文書情報検索装置
JPH07105223A (ja) データベース検索装置
JPH05324728A (ja) 情報検索装置
JP6549173B2 (ja) 計算機システム及び文章データの検索方法
JP2993530B2 (ja) 文生成装置
JPH08329101A (ja) データベースシステム
US20220083736A1 (en) Information processing apparatus and non-transitory computer readable medium
JP3222193B2 (ja) 情報検索装置
JP2639804B2 (ja) データベース検索装置
JP2842413B2 (ja) データベース検索方法およびその装置
JPH09305611A (ja) データベースの検索装置
JP3337717B2 (ja) データベース処理装置およびデータベース処理方法
JPH04348468A (ja) データベース装置
JP2001325292A (ja) 複合語の類似度判定システム、類似度判定方法及び記録媒体
JPH06274385A (ja) データベースシステム
JPH0484324A (ja) ソフトウェア再利用システム
JP3536302B2 (ja) データ管理装置および方法、検索装置および方法
JP2000003401A (ja) 帳票作成処理システム
JPH01266624A (ja) データベース検索装置
CN118193572A (zh) 数据库操作语句的优化方法及相关产品
JPH04116772A (ja) 連結データベース検索装置
JPH1091493A (ja) データベースの構築方法