JP2706021B2 - 構造型データベースにおける検索高速化方法 - Google Patents
構造型データベースにおける検索高速化方法Info
- Publication number
- JP2706021B2 JP2706021B2 JP4249156A JP24915692A JP2706021B2 JP 2706021 B2 JP2706021 B2 JP 2706021B2 JP 4249156 A JP4249156 A JP 4249156A JP 24915692 A JP24915692 A JP 24915692A JP 2706021 B2 JP2706021 B2 JP 2706021B2
- Authority
- JP
- Japan
- Prior art keywords
- record
- records
- index
- search
- supplier
- 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】
【従来の技術】構造型デ−タベ−スは、一般にキ−とな
る語とデ−タベ−ス内のそのキ−となる語をキ−として
定義した項目中に持つレコ−ド群へのポインタから構成
されるインデックスを有し、また、各レコ−ドはキ−と
して定義された項目の中身が同じもの同志がレコ−ドポ
インタにより結合されており、索引によるレコ−ドの直
接検索とアクセス、および同じキ−をもつレコ−ドの選
択とその順次アクセスが可能である。
る語とデ−タベ−ス内のそのキ−となる語をキ−として
定義した項目中に持つレコ−ド群へのポインタから構成
されるインデックスを有し、また、各レコ−ドはキ−と
して定義された項目の中身が同じもの同志がレコ−ドポ
インタにより結合されており、索引によるレコ−ドの直
接検索とアクセス、および同じキ−をもつレコ−ドの選
択とその順次アクセスが可能である。
【0003】従来、この種の構造型データベースにおい
ては、複数のレコ−ドが同じキ−を有すデ−タを検索す
る場合、そのキ−をもつ最初のレコ−ドを索引により直
接検索し、以後同一キ−をもつレコ−ドをポインタをた
どって順次検索し、検索条件に合致するレコ−ドを見つ
けていた。
ては、複数のレコ−ドが同じキ−を有すデ−タを検索す
る場合、そのキ−をもつ最初のレコ−ドを索引により直
接検索し、以後同一キ−をもつレコ−ドをポインタをた
どって順次検索し、検索条件に合致するレコ−ドを見つ
けていた。
【0004】なお、構造型データベースの情報検索に関
連する公知文献としては例えば特開平3−252864
号公報が挙げられる。
連する公知文献としては例えば特開平3−252864
号公報が挙げられる。
【0005】
【発明が解決しようとする課題】上記従来技術において
は、例えば仕入れ先別の仕入れデ−タなどの様に、同一
キ−のデ−タが多数発生しえるものから、条件に合致す
るレコ−ドの出現順位が一意に定まらず、さらに検索条
件に合致するレコ−ドの件数が不明のとき、同一キ−の
レコ−ドを全て調べる必要があるため、該当するレコ−
ドが最初の1件のみであったにしても、残りのすべての
レコ−ドを読み出すことになり、検索の効率が低下する
という問題があった。
は、例えば仕入れ先別の仕入れデ−タなどの様に、同一
キ−のデ−タが多数発生しえるものから、条件に合致す
るレコ−ドの出現順位が一意に定まらず、さらに検索条
件に合致するレコ−ドの件数が不明のとき、同一キ−の
レコ−ドを全て調べる必要があるため、該当するレコ−
ドが最初の1件のみであったにしても、残りのすべての
レコ−ドを読み出すことになり、検索の効率が低下する
という問題があった。
【0006】本発明の目的は、構造型データベース検索
において、同一キー下のレコードの全件検索によらずに
検索条件の合致する最終のレコードの判断を可能にし
て、不要レコードの検索を減らすことにある。
において、同一キー下のレコードの全件検索によらずに
検索条件の合致する最終のレコードの判断を可能にし
て、不要レコードの検索を減らすことにある。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明においては、検索対象レコ−ドのインデック
ス中に検索条件毎の下位レコ−ド在数を記憶しておき、
検索においてその数と検索条件に一致したレコ−ドの数
を比較することにより、検索条件に合致する最後のレコ
−ドを判断するようにしたことである。
に、本発明においては、検索対象レコ−ドのインデック
ス中に検索条件毎の下位レコ−ド在数を記憶しておき、
検索においてその数と検索条件に一致したレコ−ドの数
を比較することにより、検索条件に合致する最後のレコ
−ドを判断するようにしたことである。
【0008】
【作用】インデックスは、レコ−ド中のキ−として定義
された項目の中身を索引語として記憶し、また、その索
引語に対応するレコ−ドのうち、最初と最後のレコ−ド
の記憶場所をポインタで管理するが、さらに、索引語に
対応するレコ−ドのなかで、各検索条件に合致するレコ
−ドの件数を検索条件の数だけ記憶しておく。
された項目の中身を索引語として記憶し、また、その索
引語に対応するレコ−ドのうち、最初と最後のレコ−ド
の記憶場所をポインタで管理するが、さらに、索引語に
対応するレコ−ドのなかで、各検索条件に合致するレコ
−ドの件数を検索条件の数だけ記憶しておく。
【0009】レコ−ドの追加時には、レコ−ド中のキ−
項目の中身に対応するインデックスが管理するレコ−ド
へのポインタにより、キ−内容に該当するレコ−ド群の
記憶場所を知り、それをもとにレコ−ド群の任意の場所
にレコ−ドを追加格納し、必要に応じてレコ−ド同志の
レコ−ドポインタやインデックスの管理するポインタ情
報を更新し、追加したレコ−ドの内容を調べ、合致する
各検索条件毎にインデックス中のレコ−ド件数を1件加
算する。
項目の中身に対応するインデックスが管理するレコ−ド
へのポインタにより、キ−内容に該当するレコ−ド群の
記憶場所を知り、それをもとにレコ−ド群の任意の場所
にレコ−ドを追加格納し、必要に応じてレコ−ド同志の
レコ−ドポインタやインデックスの管理するポインタ情
報を更新し、追加したレコ−ドの内容を調べ、合致する
各検索条件毎にインデックス中のレコ−ド件数を1件加
算する。
【0010】レコ−ドの参照もしくは更新(削除も含
む)のためのレコ−ド検索時は、キ−とする情報でイン
デックスを参照し、キ−に対応するインデックス自体が
無いときは該当レコ−ドは無しとなり、インデックスが
有る場合はインデックスが管理するレコ−ドへのポイン
タにより指示されるレコ−ド群に対してレコ−ドポイン
タを伝って順次検索を行い、検索条件とレコ−ドの内容
を比較し条件に合致した場合はレコ−ドに対して処理を
行うとともに合致した件数を累計し、その数がインデッ
クスにおいて管理されている検索条件に合致するレコ−
ドの件数と一致した時点で、以後条件に合致するレコ−
ドは無いため検索を終了するが、この時点で選択された
レコ−ドの更新や削除に伴う検索条件毎のレコ−ド数の
変動分を、インデックスにおいて管理されている各検索
条件に合致するレコ−ドの件数に反映し記憶する。
む)のためのレコ−ド検索時は、キ−とする情報でイン
デックスを参照し、キ−に対応するインデックス自体が
無いときは該当レコ−ドは無しとなり、インデックスが
有る場合はインデックスが管理するレコ−ドへのポイン
タにより指示されるレコ−ド群に対してレコ−ドポイン
タを伝って順次検索を行い、検索条件とレコ−ドの内容
を比較し条件に合致した場合はレコ−ドに対して処理を
行うとともに合致した件数を累計し、その数がインデッ
クスにおいて管理されている検索条件に合致するレコ−
ドの件数と一致した時点で、以後条件に合致するレコ−
ドは無いため検索を終了するが、この時点で選択された
レコ−ドの更新や削除に伴う検索条件毎のレコ−ド数の
変動分を、インデックスにおいて管理されている各検索
条件に合致するレコ−ドの件数に反映し記憶する。
【0011】以上により、検索条件に該当するレコ−ド
の終了を明確に判断することができ、その結果不要なレ
コ−ドの読み飛ばしが減り、処理効率を向上できる。
の終了を明確に判断することができ、その結果不要なレ
コ−ドの読み飛ばしが減り、処理効率を向上できる。
【0012】
【実施例】以下、本発明の一実施例について図1乃至図
4により詳述する。
4により詳述する。
【0013】図1は、外部記憶装置10上に構造型デー
タベースとしてインデックス13とレコード群14が構
築され、買掛管理システム11がデータベース管理シス
テム12を通して検索処理することを示している。本実
施例では、インデックス13は索引(キー)として仕入
れ先を持ち、レコード群14は仕入れ情報をレコードの
形式で管理するものとする。また、検索条件は指定され
た仕入れ先のレコード中の「未払いもの」とする。
タベースとしてインデックス13とレコード群14が構
築され、買掛管理システム11がデータベース管理シス
テム12を通して検索処理することを示している。本実
施例では、インデックス13は索引(キー)として仕入
れ先を持ち、レコード群14は仕入れ情報をレコードの
形式で管理するものとする。また、検索条件は指定され
た仕入れ先のレコード中の「未払いもの」とする。
【0014】図2に、インデックス13とレコード群1
4のデータ構造の具体例を示す。
4のデータ構造の具体例を示す。
【0015】インデックス13は索引として仕入れ先1
31を持ち、各仕入れ先対応に、レコ−ド群14中の該
当仕入れ先141の内容に対応するレコ−ドの中の先頭
と末尾のレコ−ドの記憶場所を、先頭レコ−ドポインタ
132と末尾レコ−ドポインタ133で管理している。
条件合致件数134は本発明で設けたもので、ここで
は、レコード群14中の該当仕入れ先141の内容に対
応するレコードの中で「未払いのもの」という検索条件
に合致するレコードの件数を記憶している。例えば、仕
入れ先131として「B工業」を持つインデックスの場
合、仕入れ先141として「B工業」を持つレコードの
うち、2つのレコードが未払いのため、当該インデック
スの条件合致件数134には「2」が記憶される。他の
インデックスについても同様である。なお、図2では、
検索条件は「未払いもの」一つであるが、インデックス
13が複数の検索条件を管理する場合には、条件合致件
数134の欄も複数設けることとなる。
31を持ち、各仕入れ先対応に、レコ−ド群14中の該
当仕入れ先141の内容に対応するレコ−ドの中の先頭
と末尾のレコ−ドの記憶場所を、先頭レコ−ドポインタ
132と末尾レコ−ドポインタ133で管理している。
条件合致件数134は本発明で設けたもので、ここで
は、レコード群14中の該当仕入れ先141の内容に対
応するレコードの中で「未払いのもの」という検索条件
に合致するレコードの件数を記憶している。例えば、仕
入れ先131として「B工業」を持つインデックスの場
合、仕入れ先141として「B工業」を持つレコードの
うち、2つのレコードが未払いのため、当該インデック
スの条件合致件数134には「2」が記憶される。他の
インデックスについても同様である。なお、図2では、
検索条件は「未払いもの」一つであるが、インデックス
13が複数の検索条件を管理する場合には、条件合致件
数134の欄も複数設けることとなる。
【0016】レコ−ド群14は仕入れ情報をレコ−ドの
形式で管理し、インデックス13の索引131に対応す
る項目として仕入れ先141を持ち、その他に支払日1
42と仕入れ内容143、及び仕入れ先141の同じ物
同志を連結するために、次レコ−ドポインタ144と前
レコ−ドポインタ145を持っている。この次レコード
ポインタ144と前レコードポインタ145のチェイン
をたどることにより、前方向・後方向の双方向でレコ−
ドを検索することが可能である。
形式で管理し、インデックス13の索引131に対応す
る項目として仕入れ先141を持ち、その他に支払日1
42と仕入れ内容143、及び仕入れ先141の同じ物
同志を連結するために、次レコ−ドポインタ144と前
レコ−ドポインタ145を持っている。この次レコード
ポインタ144と前レコードポインタ145のチェイン
をたどることにより、前方向・後方向の双方向でレコ−
ドを検索することが可能である。
【0017】図3はレコ−ド群14にレコ−ドを追加す
るときの処理フローであり、買掛管理システム11にお
いて新たに仕入れ情報を追加するとき、データベース管
理システム12で実行される。判断31では追加する仕
入れ情報の仕入れ先がインデックス13にあるか調べ、
インデックス13に既にあれば直ちに処理33に行き、
無い場合は処理32でインデックス13に新しく仕入れ
先を追加した後、処理33に行く。処理33ではレコ−
ド群14の空き領域にレコ−ドを追加し、その結果、ポ
インタの情報が変化するため、処理34において、イン
デックス13の先頭レコ−ドポインタ132・末尾レコ
−ドポインタ133と、レコ−ド群14の次レコ−ドポ
インタ144・前レコ−ドポインタ145を更新する。
判断35では追加した仕入れ情報のレコードの支払日1
42がスペ−スかどうかを調べ(ここでは支払日142
がスペ−スのレコ−ドを未払いとみなす)、スペースの
とき、処理36で該当インデックスの条件合致件数13
4を+1し、レコ−ド群14中の未払いレコ−ドの数と
一致させる。図2の例について、新しく仕入れ先「D工
業」の仕入れ情報を追加した場合を図5に示し、また、
既にある仕入れ先「B工業」に新たに仕入れ情報を追加
した場合を図6に示す。
るときの処理フローであり、買掛管理システム11にお
いて新たに仕入れ情報を追加するとき、データベース管
理システム12で実行される。判断31では追加する仕
入れ情報の仕入れ先がインデックス13にあるか調べ、
インデックス13に既にあれば直ちに処理33に行き、
無い場合は処理32でインデックス13に新しく仕入れ
先を追加した後、処理33に行く。処理33ではレコ−
ド群14の空き領域にレコ−ドを追加し、その結果、ポ
インタの情報が変化するため、処理34において、イン
デックス13の先頭レコ−ドポインタ132・末尾レコ
−ドポインタ133と、レコ−ド群14の次レコ−ドポ
インタ144・前レコ−ドポインタ145を更新する。
判断35では追加した仕入れ情報のレコードの支払日1
42がスペ−スかどうかを調べ(ここでは支払日142
がスペ−スのレコ−ドを未払いとみなす)、スペースの
とき、処理36で該当インデックスの条件合致件数13
4を+1し、レコ−ド群14中の未払いレコ−ドの数と
一致させる。図2の例について、新しく仕入れ先「D工
業」の仕入れ情報を追加した場合を図5に示し、また、
既にある仕入れ先「B工業」に新たに仕入れ情報を追加
した場合を図6に示す。
【0018】図4は、レコ−ドを検索し検索条件に合致
したレコ−ドを処理する場合の処理フローであり、買掛
管理システム11において登録済の仕入れ情報を処理す
るとき、データベース管理システム12で実行される。
判断41では処理する仕入れ先がインデックス13にあ
るかを調べ、無い場合は処理49で該当レコ−ド無しの
処理を行い、終了する。インデックス13に有る場合
は、処理42において、レコ−ド群14から仕入れ先に
該当するレコ−ドのうち末尾のレコ−ドを読み込む。読
み込んだレコ−ドは判断43で検索条件に合致するか判
断し、条件に合致した場合は処理44によって該レコ−
ドを処理し、処理45において処理レコード数を示すカ
ウンタをカウントアップする。その後、判断46によっ
て処理レコード数と該当インデックス中の条件合致件数
134の値と比較する。そして、検索条件に合致した処
理レコード件数が条件合致件数134以上と判断された
場合は、処理対象の仕入れ先に合致するレコ−ドをまだ
全て調査していなくとも、仕入れ検索条件に合致するレ
コ−ドは全て処理した事になるため、該当レコ−ドへの
処理によって変動した未払い件数を、処理48で該当イ
ンデックスの条件合致件数134に反映した後、検索を
終了する。検索条件に合致したレコード処理件数が条件
合致件数134未満の場合は、まだ検索条件に合致する
レコ−ドが存在することになるため、処理47で前レコ
−ドポインタによって指示される次のレコ−ドを読み込
み、判断43以降の処理を繰り返す。このようにして、
例えば図6において、仕入れ先が「B工業」のレコード
を検索し、検索条件「未払い」に合致したレコードを処
理して、未払いものがなくなると、該仕入れ先が「B工
業」のインデックス中の条件合致件数134は「0」に
なる。
したレコ−ドを処理する場合の処理フローであり、買掛
管理システム11において登録済の仕入れ情報を処理す
るとき、データベース管理システム12で実行される。
判断41では処理する仕入れ先がインデックス13にあ
るかを調べ、無い場合は処理49で該当レコ−ド無しの
処理を行い、終了する。インデックス13に有る場合
は、処理42において、レコ−ド群14から仕入れ先に
該当するレコ−ドのうち末尾のレコ−ドを読み込む。読
み込んだレコ−ドは判断43で検索条件に合致するか判
断し、条件に合致した場合は処理44によって該レコ−
ドを処理し、処理45において処理レコード数を示すカ
ウンタをカウントアップする。その後、判断46によっ
て処理レコード数と該当インデックス中の条件合致件数
134の値と比較する。そして、検索条件に合致した処
理レコード件数が条件合致件数134以上と判断された
場合は、処理対象の仕入れ先に合致するレコ−ドをまだ
全て調査していなくとも、仕入れ検索条件に合致するレ
コ−ドは全て処理した事になるため、該当レコ−ドへの
処理によって変動した未払い件数を、処理48で該当イ
ンデックスの条件合致件数134に反映した後、検索を
終了する。検索条件に合致したレコード処理件数が条件
合致件数134未満の場合は、まだ検索条件に合致する
レコ−ドが存在することになるため、処理47で前レコ
−ドポインタによって指示される次のレコ−ドを読み込
み、判断43以降の処理を繰り返す。このようにして、
例えば図6において、仕入れ先が「B工業」のレコード
を検索し、検索条件「未払い」に合致したレコードを処
理して、未払いものがなくなると、該仕入れ先が「B工
業」のインデックス中の条件合致件数134は「0」に
なる。
【0019】なお、図4のレコード検索では、該当レコ
ードを末尾のレコードから検索するとしたが、これは新
しく追加したレコードほど「未払い」である確率が高い
ことによる。検索条件によっては該当レコードを先頭か
ら検索する方が有利の場合も考えられ、レコードを先頭
/末尾のいずれから検索するかは検索条件等を考慮して
決めればよい。
ードを末尾のレコードから検索するとしたが、これは新
しく追加したレコードほど「未払い」である確率が高い
ことによる。検索条件によっては該当レコードを先頭か
ら検索する方が有利の場合も考えられ、レコードを先頭
/末尾のいずれから検索するかは検索条件等を考慮して
決めればよい。
【0020】
【発明の効果】以上説明したように、本発明では、検索
条件に該当するレコ−ドの在数をインデックス中に管理
することにより、検索条件に合致する最後のレコ−ドを
早期に判断できるため、不要なレコ−ドの読み込みを抑
止でき、検索効率を向上できる。
条件に該当するレコ−ドの在数をインデックス中に管理
することにより、検索条件に合致する最後のレコ−ドを
早期に判断できるため、不要なレコ−ドの読み込みを抑
止でき、検索効率を向上できる。
【図1】本発明の一実施例のシステム構成図である。
【図2】本発明によるインデックスとレコード群のデ−
タ構造の具体例である。
タ構造の具体例である。
【図3】レコ−ド群にレコ−ドを追加するときのフロー
チャートである。
チャートである。
【図4】レコ−ドを検索し検索条件に合致するレコ−ド
を処理するフローチャートである。
を処理するフローチャートである。
【図5】図2において新しくインデックスとレコードを
追加する例である。
追加する例である。
【図6】図2において既存のインデックスにレコードを
追加する例である。
追加する例である。
13 インデックス 14 レコ−ド群 134 条件合致件数
Claims (1)
- 【請求項1】 インデックスと該インデックスで対応付
けされたレコード群からなる構造型データベースにおい
て、 前記インデックス中に、同一キー下につらなるレコード
中の検索条件に合致するレコードの在数(以下、条件合
致件数と称す)を記憶しておき、 検索時、該当キーのレコード中から検索条件に合致する
レコードを順次検索し、そのレコード数が前記インデッ
クス中に記憶してある条件合致件数に達した時点で検索
を終了することを特徴とする構造型デ−タベ−スにおけ
る検索高速化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4249156A JP2706021B2 (ja) | 1992-09-18 | 1992-09-18 | 構造型データベースにおける検索高速化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4249156A JP2706021B2 (ja) | 1992-09-18 | 1992-09-18 | 構造型データベースにおける検索高速化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06103307A JPH06103307A (ja) | 1994-04-15 |
JP2706021B2 true JP2706021B2 (ja) | 1998-01-28 |
Family
ID=17188742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4249156A Expired - Fee Related JP2706021B2 (ja) | 1992-09-18 | 1992-09-18 | 構造型データベースにおける検索高速化方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2706021B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007094539A (ja) * | 2005-09-27 | 2007-04-12 | Mitsubishi Electric Corp | 情報処理装置、情報処理方法およびこれらに用いられる情報の記憶媒体 |
JP5831319B2 (ja) | 2012-03-19 | 2015-12-09 | 富士通株式会社 | 制御装置、管理装置、情報処理システム、制御装置の動作方法、管理装置の動作方法、情報処理システムの動作方法およびプログラム |
JP6376534B2 (ja) * | 2014-12-17 | 2018-08-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | データを集計するシステム、方法およびプログラム |
-
1992
- 1992-09-18 JP JP4249156A patent/JP2706021B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06103307A (ja) | 1994-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6226634B1 (en) | Association rule generation and group-by processing system | |
O'Neil et al. | Multi-table joins through bitmapped join indices | |
US6662189B2 (en) | Method of performing data mining tasks for generating decision tree and apparatus therefor | |
US4933848A (en) | Method for enforcing referential constraints in a database management system | |
CA2281287C (en) | Method and system for efficiently searching for free space in a table of a relational database having a clustering index | |
JP4866495B2 (ja) | データベースシステムにおいて結合質問を実行する方法及び装置 | |
US6484181B2 (en) | Method and system for handling foreign key update in an object-oriented database environment | |
KR100402913B1 (ko) | 데이타베이스검색을위한병렬처리시스템 | |
US6965894B2 (en) | Efficient implementation of an index structure for multi-column bi-directional searches | |
JPH10143538A (ja) | 一般化されたキーインデックス | |
JP3452531B2 (ja) | データ・マイニングする方法およびシステム | |
JP2003141158A (ja) | 順序を考慮したパターンを用いた検索装置および方法 | |
JP2003515802A (ja) | インデクスキーデータフィールドを抽出するためのシステムおよび方法 | |
US5625813A (en) | Method for performing joins between different record types in a database system | |
US7512617B2 (en) | Interval tree for identifying intervals that intersect with a query interval | |
JP2706021B2 (ja) | 構造型データベースにおける検索高速化方法 | |
EP1116137B1 (en) | Database, and methods of data storage and retrieval | |
US7039646B2 (en) | Method and system for compressing varying-length columns during index high key generation | |
JP2000090093A (ja) | 全文検索方法及び全文検索システム並びに全文検索プログラムを記録した記録媒体 | |
JP2002202973A (ja) | 構造化文書管理装置 | |
JP3183252B2 (ja) | データベース検索システム | |
US20040181508A1 (en) | Data processing method, computer readable recording medium, and data processing device | |
JP3245873B2 (ja) | ファイル処理装置 | |
JP3068397B2 (ja) | 文書管理装置 | |
JPS61278932A (ja) | デ−タ追加処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |