JP2000020527A - データベースにおける検索方式 - Google Patents

データベースにおける検索方式

Info

Publication number
JP2000020527A
JP2000020527A JP10188533A JP18853398A JP2000020527A JP 2000020527 A JP2000020527 A JP 2000020527A JP 10188533 A JP10188533 A JP 10188533A JP 18853398 A JP18853398 A JP 18853398A JP 2000020527 A JP2000020527 A JP 2000020527A
Authority
JP
Japan
Prior art keywords
search
search result
list
position information
row
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
JP10188533A
Other languages
English (en)
Inventor
Saikurikaeshishi Endo
菜々子 遠藤
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP10188533A priority Critical patent/JP2000020527A/ja
Publication of JP2000020527A publication Critical patent/JP2000020527A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】データベースシステムで、条件検索の検索結果
を再利用するための行位置情報の格納方法を、検索のヒ
ット率により切りわけることで領域を最小化し、検索を
高速に行う。 【解決手段】検索処理時、データベース管理プログラム
104が処理中の検索と一致する検索条件を検索結果管
理テーブル108に発見した場合、対応する検索結果位
置情報109を参照することで、一致した検索条件につ
いてのデータベース104の検索を不要とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータベース検索処
理方式に係り、条件をいろいろと変えて試行錯誤的に行
う検索処理に有効な検索処理方式に関する。
【0002】
【従来の技術】データベースに対し試行錯誤的に検索を
行う場合、例えば特開平5-225238号公報は、ある検索処
理の検索条件と検索条件を満たす物件番号のリスト(検
索結果位置情報に対応)を検索時に作成し、別の検索処
理時に再利用する方式である。また、特開平6-215044号
公報は、リストではなくビットマップを用いて検索結果
を保持している。
【0003】
【発明が解決しようとする課題】しかし、特開平5-2252
38号公報では、検索結果位置情報を作成する領域長は検
索結果のヒット率に比例して増加するため、ヒット率が
高い場合、必要な領域は膨大なものとなるという課題が
ある。一方、特開平6-215044号公報についても、ビット
マップを作成する領域長は全データ件数に比例するた
め、データ件数の多いデータベースでは必要な領域は大
きくなる。
【0004】本発明の目的は、検索結果位置情報を作成
する手段を、検索条件を満たす行の行idリスト、又は
各行に対応したビットを持つビットマップの二通り持
ち、それらを併用するとともに、検索のヒット率を用い
て各検索処理についてより少ない領域を使用する手段で
検索結果位置情報を作成するよう最小化することにあ
る。
【0005】
【課題を解決するための手段】上記の目的は、検索結果
位置情報を再利用する検索処理システムにおいて、ある
検索処理のヒット率を求め、その値からヒットした行の
位置情報をリストとビットマップのどちらで作成するか
を決定し、検索結果位置情報を作成することで達成され
る。ここでヒット率とは、例えば実際に検索した結果件
数から求めるものと、最適化等で用いる、SQLの統計
情報を利用した値の分布状態や重複度合等から予測する
ものとがあるが、本発明ではどちらかに限らない。
【0006】
【発明の実施の形態】以下、本発明の一実施例について
図面で説明する。
【0007】図1は本発明によるデータベースシステム
の構成例である。
【0008】電子計算機101には、補助記憶装置10
2、オンライン処理で使用する端末システム103、及
びデータベース104が接続されている。電子計算機1
01には実記憶装置(メインメモリ)105があり、デ
ータベース管理プログラム106、キャッシュ領域10
7に検索結果管理テーブル108、検索結果位置情報1
09が存在する。
【0009】データベース管理プログラム106は、端
末システム103との入出力管理やデータベース104
へのアクセス制御、検索結果管理テーブル108や検索
結果位置情報109の管理を行う。補助記憶装置102
は検索結果管理テーブル108及び検索結果位置情報1
09の二次キャッシュ領域として使用する。
【0010】図2は検索結果管理テーブル201及び検
索結果位置情報の構成例を示したものである。本実施例
では、検索結果管理テーブル201は検索条件と検索結
果位置情報へのポインタからなるエントリで構成され
る。検索結果位置情報は、データベースの実データ件数
N個のビットからなる検索結果ビットマップ202、ま
たは、対応する検索結果管理テーブルのエントリの検索
条件を満たす実データの位置を表す行idからなる検索
結果行idリスト203の2形式がある。
【0011】検索結果ビットマップ202の各ビット
は、実データのデータベース内の位置情報である行id
と1対1で対応する。各ビットには、対応する行idが
指す実データがそのビットマップをポイントするエント
リの検索条件を満たす場合に1、満たさない場合に0が
設定される。また、検索結果行idリスト203は、リ
ストをポイントするエントリの検索条件を満たす実デー
タの行idがリスト形式になったものである。図2は、
検索条件がXの場合、またX AND Yの場合の検索
結果ビットマップ202、検索条件がZの場合の検索結
果行idリスト203、及び検索結果管理テーブル20
1の例である。
【0012】検索結果位置情報を検索結果ビットマップ
202と検索結果行idリスト203のどちらで作成す
るかは、検索のヒット率から必要な領域長を算出して決
定する。検索結果ビットマップ202はデータベースの
実データ件数N個のビットで構成されるため、検索対象
の表データ件数に比例した領域長となり、ヒット率の影
響を受けない。一方、検索結果行idリスト203はヒ
ット率が低いほど必要な領域長は小さくなる。
【0013】検索結果ビットマップ202の領域長をL
1、検索結果行idリスト203の領域長をL2とする
と、各領域長は以下のようになる。
【0014】
【数1】 L1=N/8(バイト) L2=(N×(ヒット率)/8)×(行id長) (バ
イト) L1>L2となる検索処理の場合は、検索結果行idリ
スト203を作成し、L1<=L2となる検索処理の場
合は検索結果ビットマップ202を作成することで、検
索結果位置情報の領域長を最適化する。
【0015】図3は検索結果位置情報をビットマップで
作成する場合の、本発明による検索結果管理テーブル及
び検索結果ビットマップを使用した検索の基本的な処理
フローである。
【0016】 検索処理A:検索結果管理テーブルに検索条件が一致す
るエントリがない検索処理 検索処理B:検索処理Aの検索条件に条件を追加した検
索処理 検索処理C:検索処理Bと同内容の検索処理 とする。
【0017】検索処理Aを開始すると、データベース管
理プログラムはAの検索条件を検索結果管理テーブルの
エントリが持つ検索条件と照会する(301)。Aの検
索条件と一致するエントリがないので、全ての実データ
についてデータベースアクセスし(302)、Aの検索
条件で検索する。その結果がAの検索結果となる。
【0018】検索のヒット率を求め、検索結果位置情報
をビットマップで作成した場合と行リストidで作成し
た場合の検索結果管理情報の領域長を算出し、最適な作
成方法を決定する(311)。検索結果ビットマップを
作成し、Aの検索条件と作成した検索結果ビットマップ
へのポインタを検索結果管理テーブルに登録する(30
3)。
【0019】続けて検索処理Bを開始すると、データベ
ース管理プログラムはBの検索条件を検索結果管理テー
ブルのエントリが持つ検索条件と照会する(301)。
検索処理A実行時に作成したエントリが、Bの検索条件
の一部分と一致するので(305)、そのエントリがポ
イントする検索結果ビットマップでビット値1の実デー
タについてデータベースアクセスし、そのエントリの検
索条件に含まれなかったBの検索条件で検索する(30
6)。
【0020】その結果がBの検索結果となる。検索のヒ
ット率を求め、検索結果位置情報をビットマップで作成
した場合と行リストidで作成した場合の検索結果管理
情報の領域長を算出し、最適な作成方法を決定する(3
12)。
【0021】検索結果からビットマップを作成し、Bの
検索条件と作成した検索結果ビットマップへのポインタ
を検索結果管理テーブルに登録する(307)。続けて
検索処理Cを開始すると、データベース管理プログラム
はCの検索条件を検索結果管理テーブルのエントリが持
つ検索条件と照会する(301)。検索処理B実行時に
作成したエントリが、Cの検索条件と完全一致するので
(305)、そのエントリがポイントする検索結果ビッ
トマップでビット値1の実データにアクセスする(30
9)。アクセスした全てのデータはCの検索結果とな
る。
【0022】上記の検索処理Aの検索結果位置情報を行
idリストで作成した場合、検索処理B実行時には、検
索処理Aで作成した検索結果行idリストを参照し、リ
ストの行idが示すデータ全てにアクセスし、検索結果
管理テーブルの対応するエントリの検索条件に含まれな
かったBの検索条件で検索する。その結果がBの検索結
果となる。この検索結果で行idリストを作成した場
合、検索処理C実行時には、検索処理Bで作成した検索
結果行idリストを参照し、リストの行idが示すデー
タ全てにアクセスする。アクセスした全てのデータはC
の検索結果となる。
【0023】以下、図4は検索結果位置情報に必要な領
域長計算、比較により検索結果行idリストを利用した
場合の一連の処理の例である。表T1は図4で示すよう
に、名前、性別、職業、年齢の列で構成され、N件のデ
ータが格納されている。
【0024】図4はデータベースに示すT1に対し、 性別=M AND 職業=会社員 の検索処理を行ったときのシステム及びデータ構成図で
ある。データベース管理プログラム401は、端末シス
テム402から検索処理の要求を受信し、検索処理を
開始する。検索結果管理テーブル403のエントリ数は
0のため、データベース管理プログラム401はデータ
ベース404の表T1の全データにアクセスし、性別=
Mの検索を行う。
【0025】この検索結果を検索結果管理テーブル40
3に登録するにあたり、データベース管理プログラム4
01は、検索条件のヒット率、検索結果ビットマップを
作成した場合と検索結果行idリストを作成した場合の
格納領域長を算出し、ビットマップを作成する方が領域
長が小さくなるという比較結果が出た場合、性別=Mの
ビットマップ405を作成し(ビットマップの作成方法
は図2の説明に示した)、性別=Mの検索条件と作成し
たビットマップ405へのポインタを検索結果管理テー
ブル403に登録する。
【0026】次に性別=Mで絞りこまれた結果に対し職
業=会社員の検索を行う。先程と同様に検索結果の格納
領域長を算出し、領域長の小さい格納方法にしたがって
検索結果位置情報を作成する。この場合は性別=M A
ND 職業=会社員の行idリスト406を作成し、検
索条件と作成した行idリスト406へのポインタを検
索結果管理テーブル403に登録する。この検索結果が
検索処理の結果となるので、データベース管理プログ
ラム401は結果を端末システム402に送信する。
【0027】本実施例によれば、検索結果位置情報を作
成する手段を検索条件を満たす行の行idリスト、又は
各行に対応したビットを持つビットマップの二通り持
ち、各検索処理についてより少ない領域を使用する手段
で検索結果位置情報を作成することで、検索結果位置情
報の領域長を最小化することができる。
【0028】
【発明の効果】以上説明したように、本発明により、検
索結果情報を保持し再利用する検索処理の場合に、各検
索のヒット率による検索結果情報の作成方法切りかえを
行うことで、検索結果情報を格納する領域長を最小化す
ることができ、領域を有効に利用できる。
【図面の簡単な説明】
【図1】本発明によるデータベース検索システムの構成
例を示す図である。
【図2】検索結果管理テーブル及び検索結果位置情報の
内容の一例を示す図である。
【図3】本発明による検索処理のフロー例を示す図であ
る。
【図4】本発明による検索処理時のシステム及びデータ
構成図である。
【符号の説明】
101…電子計算機、 102…補助記憶装置、 10
3…端末システム、104…データベース、105…実
記憶装置(メインメモリ)、106…データベース管理
プログラム、 107…キャッシュ領域、10
8…検索結果管理テーブル、 109…検索結果位
置情報、201…検索結果管理テーブル、 202
…検索結果ビットマップ、203…検索結果行idリス
ト、 301〜310…処理ステップ、401…デ
ータベース管理プログラム、402…端末システム、4
03…検索結果管理テーブル、 404…検索結果
ビットマップ、405…検索結果行idリスト。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】データベースシステムにおいて、検索処理
    時に検索結果位置情報(検索条件を満たす行の位置情
    報)を、検索条件を満たす行の行idリストで作成する
    方法と、各行に対応したビットを持つビットマップで作
    成する方法の二方法で作成する手段、及び二方法のうち
    検索結果位置情報用の領域長が各検索処理について最小
    となる方法を選択する手段を含むことで必要なメモリを
    最小化し絞り込み検索を高速に行うことを特徴とするデ
    ータベースにおける検索方式。
JP10188533A 1998-07-03 1998-07-03 データベースにおける検索方式 Pending JP2000020527A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10188533A JP2000020527A (ja) 1998-07-03 1998-07-03 データベースにおける検索方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10188533A JP2000020527A (ja) 1998-07-03 1998-07-03 データベースにおける検索方式

Publications (1)

Publication Number Publication Date
JP2000020527A true JP2000020527A (ja) 2000-01-21

Family

ID=16225379

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10188533A Pending JP2000020527A (ja) 1998-07-03 1998-07-03 データベースにおける検索方式

Country Status (1)

Country Link
JP (1) JP2000020527A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002197114A (ja) * 2000-12-27 2002-07-12 Beacon Information Technology:Kk データベース管理システム、顧客管理システム、記録媒体
WO2017013758A1 (ja) * 2015-07-22 2017-01-26 株式会社日立製作所 データベース検索システム及びデータベース検索方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002197114A (ja) * 2000-12-27 2002-07-12 Beacon Information Technology:Kk データベース管理システム、顧客管理システム、記録媒体
WO2017013758A1 (ja) * 2015-07-22 2017-01-26 株式会社日立製作所 データベース検索システム及びデータベース検索方法
JPWO2017013758A1 (ja) * 2015-07-22 2017-09-28 株式会社日立製作所 データベース検索システム及びデータベース検索方法
US20170286507A1 (en) * 2015-07-22 2017-10-05 Hitachi, Ltd. Database search system and database search method

Similar Documents

Publication Publication Date Title
US7409401B2 (en) Method and system for supporting multivalue attributes in a database system
EP2885728B1 (en) Hardware implementation of the aggregation/group by operation: hash-table method
US6105018A (en) Minimum leaf spanning tree
JP2004518226A (ja) データベースシステムおよびクエリオプティマイザ
US20050240570A1 (en) Partial query caching
JP2000020527A (ja) データベースにおける検索方式
JPH06215037A (ja) インデックスの自動更新装置
JPH07146880A (ja) 文書検索装置及び方法
JPH09305622A (ja) 文書検索機能を有するデータベース管理方法およびシステム
JPH08329101A (ja) データベースシステム
Hollaar et al. A specialized architecture for textual information retrieval
JP2639804B2 (ja) データベース検索装置
JP3288063B2 (ja) 可変長データの格納および参照システム
JP2003108561A (ja) データベース検索システム
JPH0581102A (ja) テーブル管理方式
JPH1196050A (ja) データベース管理システム
JP2604787B2 (ja) 二次元データ格納方式
JPS633351A (ja) バツフア検索制御方式
JPH10254887A (ja) データベースシステム
JPH05313971A (ja) リレーショナル・データベースにおけるキーワード管理方式
JP3318787B2 (ja) データ管理方法およびその装置
JPS6380325A (ja) 情報検索方法
JPH08194702A (ja) 情報処理装置及びその文字キャッシュ方法
JPH08205250A (ja) タグ番号管理方式
JPH05298376A (ja) データベース処理方式