JPH023870A - リレーショナル・データベースのレコード検索方法 - Google Patents
リレーショナル・データベースのレコード検索方法Info
- Publication number
- JPH023870A JPH023870A JP63152048A JP15204888A JPH023870A JP H023870 A JPH023870 A JP H023870A JP 63152048 A JP63152048 A JP 63152048A JP 15204888 A JP15204888 A JP 15204888A JP H023870 A JPH023870 A JP H023870A
- Authority
- JP
- Japan
- Prior art keywords
- join
- records
- search
- processing
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はリレーショナル・データベースに係り、特にジ
ョイン処理に好適なレコード検索方法に関する。
ョイン処理に好適なレコード検索方法に関する。
リレーショナル・データベースの検索処理の一つにジョ
イン処理がある。これは複数のテーブルのレコードにつ
いて、共通の属性情報を持ったフィールドを手掛りに、
ジョイン条件に従って該当レコードを結合し、新しいレ
コードを作成する処理である。
イン処理がある。これは複数のテーブルのレコードにつ
いて、共通の属性情報を持ったフィールドを手掛りに、
ジョイン条件に従って該当レコードを結合し、新しいレ
コードを作成する処理である。
第2図のモデルを例にジョイン処理の概要を説明する。
第2図では、補助記憶上に2つのテーブルTl、T2が
格納されているとしている。これについて、次の様な検
索コマンド(SQL文)による検索要求があるとする。
格納されているとしている。これについて、次の様な検
索コマンド(SQL文)による検索要求があるとする。
5ELECT C12,CC2
3FROTl、T2
WHERE C11=C21ANDC1l≧20
このコマンドの意味は、「2つのテーブルTl。
T2から、条件(C11=C2L AND 011≧
20を満たすレコードを選び出し、フィールドC12,
C23を出力せよ」というものである。
20を満たすレコードを選び出し、フィールドC12,
C23を出力せよ」というものである。
この検索要求に対し1次の(1)〜(3)の処理を行う
。
。
(1)補助記憶上のテーブルTl、T2を主記憶に読み
込む、このとき、T1については選択条件C1l≧20
を満たすレコードのみを読み込む。
込む、このとき、T1については選択条件C1l≧20
を満たすレコードのみを読み込む。
T2については選択条件がないので、全レコードを読み
込む。
込む。
(2)主記憶に読み込んだテーブルTl’ 、T2’に
ついて、ジョイン条件に従ってジョイン処理を行う(ソ
ート処理、レコード比較)。
ついて、ジョイン条件に従ってジョイン処理を行う(ソ
ート処理、レコード比較)。
(3)ジョイン処理の結果に対して、テーブルT3を作
成し、フィールドC12,C23のみを出力する。
成し、フィールドC12,C23のみを出力する。
二へで、(2)のジ道イン処理においては、テーブルT
l’ 、T2jのレコード数は一般に多く。
l’ 、T2jのレコード数は一般に多く。
ジョイン処理の効率上のネックとなっている。
従来、このジョイン処理の効率を向上させる方法として
、特開昭57−105035号公報に記載のように、ジ
ョイン・フィールドの最大値と最小値を求め、その2値
の範囲にレコードを絞ってジョイン処理を行う方法(以
下、第1の従来方法という)、あるいは特開昭59−6
0659号公報の記載のように、ジョイン条件と検索条
件に指定されたフィールドが同一の場合、これから新し
い検索条件を作り出し、この条件でレコードを絞ってジ
ョイン処理を行う方法(以下、第2の従来方法という)
などが知られている。これらを第2図の場合に適用する
と次のようになる。第1の従来方法では、テーブルTl
’ 、T2’のジョイン・フィールドの最小値、最大値
を調べ、ジョイン範囲を限定する。その結果、ジョイン
範囲は20以上、30以下となり、テーブルT2’のジ
ョイン対象レコード数は、50件から11件に減少する
。また、第2の従来方法では、シミイン条件C11=C
21と選択条件C1l≧20に着目し、C21≧20と
いう条件を作り出し、テーブルT2の選択条件とする。
、特開昭57−105035号公報に記載のように、ジ
ョイン・フィールドの最大値と最小値を求め、その2値
の範囲にレコードを絞ってジョイン処理を行う方法(以
下、第1の従来方法という)、あるいは特開昭59−6
0659号公報の記載のように、ジョイン条件と検索条
件に指定されたフィールドが同一の場合、これから新し
い検索条件を作り出し、この条件でレコードを絞ってジ
ョイン処理を行う方法(以下、第2の従来方法という)
などが知られている。これらを第2図の場合に適用する
と次のようになる。第1の従来方法では、テーブルTl
’ 、T2’のジョイン・フィールドの最小値、最大値
を調べ、ジョイン範囲を限定する。その結果、ジョイン
範囲は20以上、30以下となり、テーブルT2’のジ
ョイン対象レコード数は、50件から11件に減少する
。また、第2の従来方法では、シミイン条件C11=C
21と選択条件C1l≧20に着目し、C21≧20と
いう条件を作り出し、テーブルT2の選択条件とする。
これにより、テーブルT2’のレコード数は50件から
31件に減少する。
31件に減少する。
上記従来技術は、ジョイン処理の範囲を限定した中にも
、シミインの可能性がないレコードが存在している点に
ついて配慮がされておらず、ジョインの可能性がないレ
コードも含めたソート処理。
、シミインの可能性がないレコードが存在している点に
ついて配慮がされておらず、ジョインの可能性がないレ
コードも含めたソート処理。
ジョインの可能性がないレコードとの比較処理等も行っ
ていた為、ジョイン処理の性能向上には限界があった。
ていた為、ジョイン処理の性能向上には限界があった。
さらに、第2の従来方法においては、ジョイン条件に指
定されたフィールドと同一のフィールドを使った検索条
件が検索コマンドに指定されていなければ、レコードの
絞込みは行えない問題があった。
定されたフィールドと同一のフィールドを使った検索条
件が検索コマンドに指定されていなければ、レコードの
絞込みは行えない問題があった。
本発明の目的は、リレーショナル・データベースのレコ
ード検索において、ジョイン処理対象テーブルのレコー
ドをデータベース中から検索する際、ジョインの可能性
がないレコードを取り除くことによって、ジョイン処理
の性能を更に向上せしめることにある。
ード検索において、ジョイン処理対象テーブルのレコー
ドをデータベース中から検索する際、ジョインの可能性
がないレコードを取り除くことによって、ジョイン処理
の性能を更に向上せしめることにある。
本発明のリレーショナル・データベース・レコード検索
方法は、複数個のテーブルをシミイン・フィールドにも
とづいてジョインし、ジョイン条件に合致したレコード
を組として抽出する際、検索条件により既に検索済の第
1のテーブルからジョイン・フィールドの内容を抽出し
、該抽出した内容を第2のテーブルの検索条件に付加し
て新たに検索条件を組立て、該検索条件に合致するレコ
ードを第2のテーブルから検索して第3のテーブルを生
成し、第1および第3のテーブルを対象にジョイン処理
を行うことを特徴とするものである。
方法は、複数個のテーブルをシミイン・フィールドにも
とづいてジョインし、ジョイン条件に合致したレコード
を組として抽出する際、検索条件により既に検索済の第
1のテーブルからジョイン・フィールドの内容を抽出し
、該抽出した内容を第2のテーブルの検索条件に付加し
て新たに検索条件を組立て、該検索条件に合致するレコ
ードを第2のテーブルから検索して第3のテーブルを生
成し、第1および第3のテーブルを対象にジョイン処理
を行うことを特徴とするものである。
まず、既に検索済の第1のテーブル(Tl’)からジョ
イン・フィールドの内容を抽出する0次に、この抽出し
たジョイン・フィールドの内容を。
イン・フィールドの内容を抽出する0次に、この抽出し
たジョイン・フィールドの内容を。
第2のテーブル(T2)の検索条件に付加して。
新しい検索条件を組立て、この検索条件で、リレ−ショ
ナル・データベースの第2のテーブルから該検索条件に
合致したレコードのみ取り出し、第3のテーブル(T2
’)を生成する。ジョイン処理は、第1のテーブル及び
第3のテーブルのレコードを対象に行う、この時、第3
のテーブル中のレコードは全てジョイン対象レコードか
ら成るので、ジョインの可能性のないレコードに対する
不要な処理を排除でき、ジョイン処理の性能を向上出来
る。
ナル・データベースの第2のテーブルから該検索条件に
合致したレコードのみ取り出し、第3のテーブル(T2
’)を生成する。ジョイン処理は、第1のテーブル及び
第3のテーブルのレコードを対象に行う、この時、第3
のテーブル中のレコードは全てジョイン対象レコードか
ら成るので、ジョインの可能性のないレコードに対する
不要な処理を排除でき、ジョイン処理の性能を向上出来
る。
第2図の例の場合1本発明では、ジョイン条件C11=
C12に看目し、この条件を満たすレコードのみをテー
ブルT2より選択する。この場合、テーブルTl’のC
1lには、20,25.30という値が選択液なので、
(C21=20 0RC21=25 0RC21=30
)という条件を作り出し、テーブルT2の選択条件(検
索条件)とする。これにより、検索されたテーブルT2
’のレコード数は50件から3件に減少し、従来方法に
比べてジ3イン処理の効率がはるかに向上することがわ
かる。
C12に看目し、この条件を満たすレコードのみをテー
ブルT2より選択する。この場合、テーブルTl’のC
1lには、20,25.30という値が選択液なので、
(C21=20 0RC21=25 0RC21=30
)という条件を作り出し、テーブルT2の選択条件(検
索条件)とする。これにより、検索されたテーブルT2
’のレコード数は50件から3件に減少し、従来方法に
比べてジ3イン処理の効率がはるかに向上することがわ
かる。
以下1本発明の一実施例について図面により説明する。
第1図は本発明の一実施例のブロック図を示す。
101はジョイン・フィールド抽出部で、ジョイン条件
を解析して、リレーショナル・データベース105から
既に検索済のジョイン対象テーブル1(Tl’)からジ
ョイン・フィールドの内容を抽出する。102は検索条
件組立て部で、ジョイン・フィールド抽出部101が抽
出したジョイン・フィールドの内容より検索条件を組立
て、別のジョイン対象テーブル2(T2)の検索条件に
付加する。103はレコード検索部で、検索条件組立て
部102が作成した検索条件で、リレーショナル・デー
タベース105中のジョイン対象テーブル2のレコード
を検索し、検索条件に合致したレコードのみのジョイン
対象テーブル3 (T2’ )を生成する。ジョイン処
理部104は、テーブル1及び3のレコードを対象に、
ジョイン・フィールドの合致するレコードを組として抽
出するジョイン処理を行う。
を解析して、リレーショナル・データベース105から
既に検索済のジョイン対象テーブル1(Tl’)からジ
ョイン・フィールドの内容を抽出する。102は検索条
件組立て部で、ジョイン・フィールド抽出部101が抽
出したジョイン・フィールドの内容より検索条件を組立
て、別のジョイン対象テーブル2(T2)の検索条件に
付加する。103はレコード検索部で、検索条件組立て
部102が作成した検索条件で、リレーショナル・デー
タベース105中のジョイン対象テーブル2のレコード
を検索し、検索条件に合致したレコードのみのジョイン
対象テーブル3 (T2’ )を生成する。ジョイン処
理部104は、テーブル1及び3のレコードを対象に、
ジョイン・フィールドの合致するレコードを組として抽
出するジョイン処理を行う。
゛第3図以下に、本実施例の具体的処理例を挙げる。
第3図は検索条件及びジョイン条件をデータベース操作
言語で記述したものである。301はデータベース操作
言語で、302,303,304はジョイン対象テーブ
ル1のレコードの検索条件、305はジョイン対象テー
ブル2のレコードの検索条件を示す。306はテーブル
1と3のレコードのジョイン条件を示す。
言語で記述したものである。301はデータベース操作
言語で、302,303,304はジョイン対象テーブ
ル1のレコードの検索条件、305はジョイン対象テー
ブル2のレコードの検索条件を示す。306はテーブル
1と3のレコードのジョイン条件を示す。
第4図及び第5図はジョイン処理となるテーブルの具体
例を示したもので、401は製品衣、501はメーカ表
である。
例を示したもので、401は製品衣、501はメーカ表
である。
第4図の製品衣401の中から、第3図の302.30
3,304の検索条件に合致するレコードのみを取出し
たのがテーブル402であり、これが第1図の検索済の
ジョイン対象テーブル1に対応する。このテーブル40
2からジョイン・フィールド抽出部101でジョイン・
フィールド403(メーカ名)を抽出し、検索条件組立
て部102において、この抽出した内容より検索条件を
組立てたものが、第6図の検索条件602である。
3,304の検索条件に合致するレコードのみを取出し
たのがテーブル402であり、これが第1図の検索済の
ジョイン対象テーブル1に対応する。このテーブル40
2からジョイン・フィールド抽出部101でジョイン・
フィールド403(メーカ名)を抽出し、検索条件組立
て部102において、この抽出した内容より検索条件を
組立てたものが、第6図の検索条件602である。
第6図の検索条件601は、第3図の305で示される
メーカ表501の検索条件である。第6図中、603は
フィールド識別子、604は比較演算子、605は比較
値数、606,607は比較値で、このうち、比較値6
07がジョイン・フィールド抽出部lotで抽出したジ
ョイン・フィールドの内容である。
メーカ表501の検索条件である。第6図中、603は
フィールド識別子、604は比較演算子、605は比較
値数、606,607は比較値で、このうち、比較値6
07がジョイン・フィールド抽出部lotで抽出したジ
ョイン・フィールドの内容である。
レコード検索部103は、検索条件601,602を共
に満足するレコードを第5図のメーカ表501(第1図
のジョイン対象テーブル2に対応)から検索し、テーブ
ル502(第1図のテーブル3に対応)を生成する。ジ
ョイン処理部104は。
に満足するレコードを第5図のメーカ表501(第1図
のジョイン対象テーブル2に対応)から検索し、テーブ
ル502(第1図のテーブル3に対応)を生成する。ジ
ョイン処理部104は。
テーブル402及び502のレコードを対象に、それぞ
れのジョイン・フィールド403及び503が、第3図
のジョイン条件306に合致するレコードを組として抽
出するジョイン処理を行う。
れのジョイン・フィールド403及び503が、第3図
のジョイン条件306に合致するレコードを組として抽
出するジョイン処理を行う。
ジョイン処理自体は従来と同じである。
本実施例によれば、メーカ表501のレコードを検索し
、検索結果メーカ表502を生成する過程において、シ
ミインの可能性のないレコードを排除できるので、ジョ
イン処理での、不要なレコードを含めたソート処理及び
ジョイン・フィールドの比較処理がなくなり、ジョイン
処理の処理性能が向上する。
、検索結果メーカ表502を生成する過程において、シ
ミインの可能性のないレコードを排除できるので、ジョ
イン処理での、不要なレコードを含めたソート処理及び
ジョイン・フィールドの比較処理がなくなり、ジョイン
処理の処理性能が向上する。
以上説明したように、本発明によれば、ジョイン処理の
実行時、ジョインの可能性のない不要なレコードを含め
たソート処理、及び不要なレコードとのジョイン・フィ
ールドの比較処理が排除出来るので、ジ1イン処理の処
理性能を著しく向上させる効果がある。
実行時、ジョインの可能性のない不要なレコードを含め
たソート処理、及び不要なレコードとのジョイン・フィ
ールドの比較処理が排除出来るので、ジ1イン処理の処
理性能を著しく向上させる効果がある。
第1図は本発明の一実施例のブロック図、第2図はジョ
イン処理の概要を説明する図、第3図はデータベース操
作言語で記述したジョイン検索条件の具体例を示す図、
第4図は一方のジョイン対象テーブルの具体例を示す図
、第5図は他方のジョイン対象テーブルの具体例を示す
図、第6図は他方のジョイン対象テーブルの検索条件の
具体例を示す図である。 101・・・ジョイン・フィールド抽出部、102・・
・検索条件組立て部、 103・・・レコード検索部、 104・・・ジョイン処理部、 105・・・リレーショナル・データベース。 第 2 図
イン処理の概要を説明する図、第3図はデータベース操
作言語で記述したジョイン検索条件の具体例を示す図、
第4図は一方のジョイン対象テーブルの具体例を示す図
、第5図は他方のジョイン対象テーブルの具体例を示す
図、第6図は他方のジョイン対象テーブルの検索条件の
具体例を示す図である。 101・・・ジョイン・フィールド抽出部、102・・
・検索条件組立て部、 103・・・レコード検索部、 104・・・ジョイン処理部、 105・・・リレーショナル・データベース。 第 2 図
Claims (1)
- (1)複数のフィールドに対応する属性情報よりなる同
一種類のレコードがまとめて記述されるテーブルを複数
個備えたリレーショナル・データベースにおいて、上記
複数個のテーブルをジヨイン・フィールドにもとづいて
ジヨインし、ジョイン条件に合致したレコードを組とし
て抽出する際、検索条件により既に検索済の第1のテー
ブルからジョイン・フィールドの内容を抽出し、該抽出
した内容を第2のテーブルの検索条件に付加して新たに
検索条件を組立て、該検索条件に合致するレコードを第
2のテーブルから検索して第3のテーブルを生成し、前
記第1および第3のテーブルを対象にジヨイン処理を行
うことを特徴とするリレーショナル・データベースのレ
コード検索方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63152048A JPH023870A (ja) | 1988-06-20 | 1988-06-20 | リレーショナル・データベースのレコード検索方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63152048A JPH023870A (ja) | 1988-06-20 | 1988-06-20 | リレーショナル・データベースのレコード検索方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH023870A true JPH023870A (ja) | 1990-01-09 |
Family
ID=15531916
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63152048A Pending JPH023870A (ja) | 1988-06-20 | 1988-06-20 | リレーショナル・データベースのレコード検索方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH023870A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04213765A (ja) * | 1990-02-13 | 1992-08-04 | Internatl Business Mach Corp <Ibm> | 関係データベースシステムの表を結合する方法 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS607556A (ja) * | 1983-06-27 | 1985-01-16 | Fujitsu Ltd | ジヨイン処理方式 |
-
1988
- 1988-06-20 JP JP63152048A patent/JPH023870A/ja active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS607556A (ja) * | 1983-06-27 | 1985-01-16 | Fujitsu Ltd | ジヨイン処理方式 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04213765A (ja) * | 1990-02-13 | 1992-08-04 | Internatl Business Mach Corp <Ibm> | 関係データベースシステムの表を結合する方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| O'Neil et al. | Multi-table joins through bitmapped join indices | |
| JP3104708B2 (ja) | 関係データベースシステムの表を結合する方法 | |
| US8037059B2 (en) | Implementing aggregation combination using aggregate depth lists and cube aggregation conversion to rollup aggregation for optimizing query processing | |
| US6185557B1 (en) | Merge join process | |
| US5557791A (en) | Outer join operations using responsibility regions assigned to inner tables in a relational database | |
| US6266660B1 (en) | Secondary index search | |
| US7240044B2 (en) | Query optimization by sub-plan memoization | |
| US5345585A (en) | Method for optimizing processing of join queries by determining optimal processing order and assigning optimal join methods to each of the join operations | |
| US5978794A (en) | Method and system for performing spatial similarity joins on high-dimensional points | |
| US6947934B1 (en) | Aggregate predicates and search in a database management system | |
| JP2005521954A (ja) | リレーショナルデータベースをクエリーする方法および装置 | |
| JP2002024281A (ja) | データベース演算処理装置 | |
| US20040054683A1 (en) | System and method for join operations of a star schema database | |
| JPH07104871B2 (ja) | リレーショナル・データベースにおけるジョイン処理方式 | |
| US7660814B2 (en) | Techniques for mapping a physical table to multiple virtual tables | |
| US20230117176A1 (en) | Data Warehouse Indexed String Token Search | |
| JPH023870A (ja) | リレーショナル・データベースのレコード検索方法 | |
| US20020138464A1 (en) | Method and apparatus to index a historical database for efficient multiattribute SQL queries | |
| Mishra et al. | Performance evaluation and analysis of k-way join variants for association rule mining | |
| JP3066836B2 (ja) | 知識ベースシステムにおける高速アクセス方式 | |
| JPH01163826A (ja) | リレーショナルデータベースの結合処理方式 | |
| JPS6257020A (ja) | リレ−シヨナルデ−タベ−スの結合処理方式 | |
| JP2000163446A (ja) | 拡張可能問い合わせ処理器 | |
| JPH0333979A (ja) | 関係データベースの限定述語処理方法 | |
| JP2001265783A (ja) | スタースキーマ検索方式およびそのプログラム記録媒体 |