JPH06131392A - Database system - Google Patents

Database system

Info

Publication number
JPH06131392A
JPH06131392A JP2405642A JP40564290A JPH06131392A JP H06131392 A JPH06131392 A JP H06131392A JP 2405642 A JP2405642 A JP 2405642A JP 40564290 A JP40564290 A JP 40564290A JP H06131392 A JPH06131392 A JP H06131392A
Authority
JP
Japan
Prior art keywords
comparisons
cost
comparison
search
order
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.)
Granted
Application number
JP2405642A
Other languages
Japanese (ja)
Other versions
JP2859447B2 (en
Inventor
Peter Grapham Brown Anthony
ピーター グラハム ブラウン アンソニー
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.)
Fujitsu Services Ltd
Original Assignee
Fujitsu Services 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 Fujitsu Services Ltd filed Critical Fujitsu Services Ltd
Publication of JPH06131392A publication Critical patent/JPH06131392A/en
Application granted granted Critical
Publication of JP2859447B2 publication Critical patent/JP2859447B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • G06F16/24545Selectivity estimation or determination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing

Abstract

PURPOSE: To accelerate the execution speed of entire collation by shortening the time of processing to each record by providing a means for rearranging the order of comparison for optimizing the execution of search and collation. CONSTITUTION: The data processing system is provided with a host computer 10 and a search processor 11 and the search processor 11 is connected through a bus 13 to a lot of disk driving units 12. Each disk driving unit 12 holds a relational data base composed of one file or more. The host computer 10 executes the main processing work load of a system composed of one application program 14 or more. The application program 14 designates the search to be executed by the data base and generates the search collation, each search collation is processed by a collation compiler 15, and series of searching instructions are generated. These searching instructions are applied to the search processor 11 and executed.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はデータベースシステムに
関する。より詳細には、このようなシステムで照会を処
理するための方法および装置に関する。
FIELD OF THE INVENTION The present invention relates to a database system. More particularly, it relates to methods and apparatus for processing queries in such systems.

【0002】[0002]

【従来の技術】一般的に、データベースシステムは、そ
れぞれが多数のフィールドからなるレコードの形のデー
タを記憶する。このようなシステムでデータをアクセス
する一つの方法は、特定の探索照会と一致するレコード
に対してデータベースを探索することである。探索照会
は各レコードの特定のフィールドについてなされなけれ
ばならない比較演算の特別な論理的な組合せから構成さ
れてもよく、その場合1つのレコードは論理的な組合せ
がそのレコードに対して「真」値となった場合のみ検索
される。
2. Description of the Related Art Generally, database systems store data in the form of records, each consisting of a number of fields. One way to access data in such a system is to search the database for records that match a particular search query. A search query may consist of a special logical combination of comparison operations that must be done for a particular field of each record, where one record has a logical combination of "true" values for that record. Will be searched only.

【0003】[0003]

【発明が解決しようとする課題】このような構成に付随
した問題点は、もし照会が極めて複雑であれば、各レコ
ードの処理時間が長くなることであり、このため探索照
会の実行は極めて遅くなってしまう。本発明の目的はこ
の問題点を軽減することである。
A problem with such an arrangement is that if the query is extremely complex, the processing time for each record will be long, which makes the execution of the search query very slow. turn into. The purpose of the present invention is to alleviate this problem.

【0004】[0004]

【課題を解決しようとする手段】本発明によれば、一連
のレコードからなるデータベースを記憶するための手段
と、各レコードに関して行われなければならない比較の
論理的な組合せからなる探索照会で上記データベースを
問い合わせるための手段とを含んだデータベースシステ
ムにおいて、上記探索照会の実行を最適化するために上
記比較の順序を再配列するための手段を設けたことを特
徴とするデータベースシステムが与えられる。探索照会
を最適化することによって、各レコードに対する処理時
間は短縮され、このため照会の全体の実行速度は速めら
れる。探索照会の最適化は、例えば探索が実際実行され
る前に照会翻訳プロセスの一部として、一度だけ行われ
るという点に留意されたい。従って、探索が実行される
時に、この最適化プロセスは実行時間にコストがかから
ないようにする。
According to the present invention, the database is a search query comprising means for storing a database of a series of records and a logical combination of comparisons that must be made for each record. In the database system including means for inquiring, the database system is provided with means for rearranging the order of the comparison in order to optimize the execution of the search query. By optimizing the search query, the processing time for each record is reduced, which speeds the overall execution speed of the query. Note that the search query optimization is done only once, for example as part of the query translation process before the search is actually performed. Therefore, when the search is performed, this optimization process does not cost execution time.

【0005】[0005]

【実施例】本発明に従った一つのデータ処理システムを
添付図面に関連して一例として次に記載する。
One data processing system according to the present invention will now be described by way of example with reference to the accompanying drawings.

【0006】図1において、データ処理システムはホス
トコンピュータ10と探索プロセッサ11とを含んでいる。
探索プロセッサはバス13により多数のディスク駆動ユニ
ット12に接続されている。
In FIG. 1, the data processing system includes a host computer 10 and a search processor 11.
The search processor is connected to a number of disk drive units 12 by a bus 13.

【0007】ディスク駆動ユニット12は1つあるいはそ
れ以上のファイルからなるリレーショナルデータベース
を保持する。各ファイルは、それぞれが1つあるいはそ
れ以上のフィールドからなる一連のレコードから構成さ
れる。各フィールドは数値あるいはテキストのいずれか
を表し、それは固定長あるいは可変長のいずれであって
もよい。固定長フィールドの場合、全てのレコードにお
いてフィールドの長さは同一であるが、可変長フィール
ドの場合は、レコード対レコードで変化する。可変長フ
ィールドの長さは、例えばフィールドの初めに設けられ
た長さコードから計算可能である。
The disk drive unit 12 holds a relational database consisting of one or more files. Each file consists of a series of records, each consisting of one or more fields. Each field represents either a number or text, which may be fixed or variable in length. In the case of a fixed length field, the length of the field is the same in all records, but in the case of a variable length field it changes from record to record. The length of the variable length field can be calculated, for example, from the length code provided at the beginning of the field.

【0008】動作にあって、ホストコンピュータ10は1
つあるいはそれ以上の応用プログラム14からなるシステ
ムの主処理ワークロードを実行する。応用プログラム
は、当該データベースで実行されるべき探索を指定し
て、探索照会を発生するようなものであってもよい。各
探索照会は照会コンパイラ15によって処理され、一連の
探索命令を発生する。これら探索命令は探索プロセッサ
11に与えられて実行される。
In operation, the host computer 10
It executes the main processing workload of the system, which consists of one or more application programs 14. The application program may be such as to specify a search to be performed on the database and generate a search query. Each search query is processed by query compiler 15 to generate a series of search instructions. These search instructions are search processors
Given to 11 and executed.

【0009】1つの探索照会は1つのファイルの各レコ
ードに対して行われるべき比較演算の1つの組合せから
なる。例えば、照会は((C1 AND C2) OR
C3) AND (C4 OR C5)の形であって
もよい。ここで、C1−−C5は個々の比較演算を表
す。各演算はレコードの1つの特定のフィールドを予め
定められた探索キーと比較することを含んでもよく、あ
るいはレコード内の2つの異なったフィールドを比較す
ることを含んでもよい。
A search query consists of one combination of comparison operations to be performed on each record of a file. For example, the query is ((C1 AND C2) OR
It may be in the form of C3) AND (C4 OR C5). Here, C1--C5 represent individual comparison operations. Each operation may include comparing one particular field of the record with a predetermined search key, or may include comparing two different fields in the record.

【0010】照会コンパイラ 次に、図2は照会コンパイラ15をより詳細に示す。照会
コンパイラ15の最初のステップ20は照会を分析し、その
照会の論理構造を表すシンタックスツリーを作る。
Query Compiler Next, FIG. 2 illustrates query compiler 15 in more detail. The first step 20 of the query compiler 15 analyzes the query and creates a syntax tree that represents the logical structure of the query.

【0011】例えば、照会((C1 AND C2)
OR C3) AND (C4 OR C5)は図3に
示されるようなツリー構造を生じさせる。このシンタッ
クスツリーはブランチで相互接続された一組のノードか
らなる。各ノードは比較(C1、C2等)あるいは論理
演算(AND、OR)のいずれかを表す。各ノードは以
下のアイテムを含んだデータ構造としてコンパイラによ
って表される。すなわち、「オペレータ形式(AND、
OR、比較)」、「ブランチ数(すなわちサブノード
群)」、「最も左のブランチ(ポインタからサブノード
へ)」、「他のブランチ(ポインタからサブノード
へ)」である。
For example, inquiry ((C1 AND C2)
OR C3) AND (C4 OR C5) yields a tree structure as shown in FIG. This syntax tree consists of a set of nodes interconnected by branches. Each node represents either comparison (C1, C2, etc.) or logical operation (AND, OR). Each node is represented by the compiler as a data structure containing the following items: That is, "operator form (AND,
OR, comparison) "," number of branches (that is, subnode group) "," most left branch (from pointer to subnode) ", and" other branch (from pointer to subnode) ".

【0012】照会コンパイラの次のステップ21はコスト
設定サブルーチンをコールすることである。このコスト
設定サブルーチンはコストと各ノードの確率を割当て
る。1つのノードに割当てられたコストは、そのノード
が真あるいは偽の結果を生じるかどうかを設定する見込
コスト(処理時間での)の評価である。1つのノードに
割当てられた確率は真の結果の可能性である。
The next step 21 of the query compiler is to call the set cost subroutine. This cost setting subroutine assigns costs and probabilities for each node. The cost assigned to a node is an estimate of the expected cost (in processing time) that sets whether that node produces a true or false result. The probability assigned to a node is the probability of a true outcome.

【0013】後に、より詳細に記載するように、論理ノ
ード(AND、OR)のコストはそのブランチのコスト
および確率と、それらブランチが評価される順序に依存
する。コスト設定サブルーチンは、シンタックスツリー
のポインタを必要に応じて再配列し、最も少ないコスト
を与える順序になるようにブランチをソートして、それ
らブランチがこの順序で評価されるようにする。(1つ
の論理ノードのブランチは常に最も左のブランチから順
に評価されるものと想定する)。あるノードがn個のブ
ランチを有するならば、n!通りのブランチの順序決め
があり、コスト設定サブルーチンは最適な順列を決定す
る。
As will be described in more detail later, the cost of a logical node (AND, OR) depends on the cost and probability of its branches and the order in which they are evaluated. The set cost subroutine rearranges the pointers in the syntax tree as needed and sorts the branches into the order that gives the lowest cost so that they are evaluated in this order. (It is assumed that the branches of one logical node are always evaluated starting from the leftmost branch). If a node has n branches, n! There is a street branch ordering, and the cost setting subroutine determines the optimal permutation.

【0014】照会コンパイラの次のステップ22はコード
発生サブルーチンをコールすることである。このサブル
ーチンは特定のフィールドあるいはフィールド群を取出
して特定の比較を行うための命令を発生する。それは、
また、これら比較を特定の論理構造において互いにリン
クするようにジャンプ命令を挿入する。
The next step 22 of the query compiler is to call the code generation subroutine. This subroutine issues an instruction to retrieve a particular field or group of fields and perform a particular comparison. that is,
Also, jump instructions are inserted to link these comparisons together in a particular logical structure.

【0015】例えば、図3に示されたシンタックスツリ
ー構造を満たすために発生される命令は以下の表1の形
のものとなる。
For example, the instructions generated to fill the syntax tree structure shown in FIG. 3 are in the form of Table 1 below.

【0016】[0016]

【表1】 論理的な組合せの演算を行うためのコンパイラルーチン
は公知であるため、コード発生サブルーチンを更に詳細
に記載することは不必要である。
[Table 1] Since compiler routines for performing logical combination operations are known, it is unnecessary to describe the code generation subroutine in more detail.

【0017】コスト設定サブルーチン 次に、図4はコスト設定サブルーチンをより詳細に示
す。これは最初に根元のノードに関してコールされ、次
で、シンタックスツリーの全体をスキャンしてこのツリ
ーの各ノードのプロセスを行うように再帰的にそれ自体
をコールする。
Cost Setting Subroutine Next, FIG. 4 shows the cost setting subroutine in more detail. It is called first on the root node, then it recursively calls itself to scan the entire syntax tree and process each node in this tree.

【0018】40は、ノードの形式を試験し、それが比較
ノードであるかあるいは論理ノードであるかどうかに従
って分岐する最初の機能を示す。
40 shows the first function to test the type of node and branch according to whether it is a comparison node or a logical node.

【0019】41は、比較ノードの場合に、そのノードに
コストの値と確率値を割当てることを示す。ある比較ノ
ードのコストはその比較のため必要なフィールド(フィ
ールド群)をアクセスするコストとその比較を実行する
コストとの和に等しい。1つのフィールドをアクセスす
るコストはレコードの構造に依存する。詳細には、1つ
あるいはそれ以上の可変長のフィールドが先行したフィ
ールドをアクセスするには、所望のフィールドの開始に
もたらすように全てのこれら先行したフィールドを順に
逐次的にアクセスする必要があるため、一般的により長
い時間を要する。一般的には、あるフィールドをアクセ
スするコストはa+nbで評価されることができ、ここ
で、aおよびbは常数であり、nは先行する可変長フィ
ールドの数である。比較を実行するコストは比較の形式
に依存する。「等しい」、「以上」あるいは「以下」と
いった簡単な比較は迅速に行われることができ、従って
低いコスト値に割当てられる。「含む」等のより複雑な
条件の比較はより長い時間がかかるため、比較的高いコ
スト値が割当てられる。
Reference numeral 41 indicates that, in the case of a comparison node, a cost value and a probability value are assigned to that node. The cost of a comparison node is equal to the sum of the cost of accessing the field (fields) needed for the comparison and the cost of performing the comparison. The cost of accessing one field depends on the structure of the record. In particular, accessing a field preceded by one or more variable length fields requires sequential access to all these preceding fields to bring to the start of the desired field. , Generally takes longer. In general, the cost of accessing a field can be evaluated as a + nb, where a and b are constants and n is the number of preceding variable length fields. The cost of performing the comparison depends on the type of comparison. Simple comparisons such as "equal to", "greater than or equal to" or "less than or equal to" can be done quickly and are therefore assigned to lower cost values. Comparing more complex conditions such as "include" takes longer and is therefore assigned a relatively high cost value.

【0020】比較ノードに割当てられる確率値は比較が
「真」の結果を生じるような可能性の評価である。この
評価は比較の成果の過去の経験に基づいてなされる。前
の成果についての情報がなんら存在しなければ、予め定
められたデフォルト値が使用される。典型的な値は以下
の表2の通りである。
The probability value assigned to the comparison node is an estimate of the likelihood that the comparison will yield a "true" result. This assessment is based on the past experience of comparative outcomes. If there is no information about the previous outcome, then a predefined default value is used. Typical values are shown in Table 2 below.

【0021】[0021]

【表2】 [Table 2]

【0022】42は、論理ノードである場合に、コスト設
定ルーチンの次のステップが、そのノードから各ブラン
チに対して、それ自体への再帰的コールを行うことであ
るということを示す。これは、サブノードのそれぞれが
これらサブノードにコストと確率とを割当てるようにコ
スト設定サブルーチンにより処理されるといる結果にな
る。任意のサブノードがそれ自体論理ノードであるなら
ば、これがコスト設定サブルーチンへの更に入れ子形に
されたコールになり、比較ノードに達するまでそのよう
になることに留意されたい。
42 indicates that if it is a logical node, the next step in the set cost routine is to make a recursive call to itself for each branch from that node. This results in each of the subnodes being processed by the set cost subroutine to assign costs and probabilities to these subnodes. Note that if any subnode is itself a logical node, this will be a more nested call to the set cost subroutine, and so on until the compare node is reached.

【0023】43は、論理ノードの全てのブランチが処理
されると、このノードのブランチがこの論理ノードのコ
ストを最少にするように再配置され、かつコストおよび
確率値が割当てられることを示す。
43 shows that once all branches of a logical node have been processed, the branches of this node are relocated to minimize the cost of this logical node and are assigned cost and probability values.

【0024】ある論理ノードに対して、コストはそのブ
ランチ群のコストおよび確率とこれらブランチが評価さ
れる順序に依存する。簡単にするため、ここでただ2つ
のブランチが存在する場合を考える。3つあるいはそれ
以上のブランチへの拡大は明白である。
For a given logical node, the cost depends on the cost and probability of its branches and the order in which these branches are evaluated. For simplicity, consider the case where there are only two branches. Extension to three or more branches is obvious.

【0025】ANDノード ANDノードがコストc1.c2と確率p1.p2とを
有する2つのブランチを供えているものと想定する。ブ
ランチ1 が最初に評価されるとしたら、見込コストはc
1+p1.c2となる。他方ブランチ2 が最初に評価さ
れるならば、見込コストはc1+p2.c1となる。
AND node AND node has cost c1. c2 and probability p1. Suppose we have two branches with p2 and p2. If branch 1 is evaluated first, the expected cost is c
1 + p1. It becomes c2. On the other hand, if branch 2 is evaluated first, the expected cost is c1 + p2. It becomes c1.

【0026】コスト設定ルーチンは、これら2つの可能
な評価順序の内のどれが最も少ないコストを与えるかを
決定し、必要に応じてシンタックスツリー構造のポイン
タに渡ってスワップし、最も少ないコストを有するブラ
ンチが最も左のブランチとなるようにし、従って最初に
評価されるようにする。そのノードに割当てられるコス
トはこの最少のコスト値である。
The cost setting routine determines which of these two possible evaluation orders gives the least cost, and swaps over pointers in the syntax tree structure, if necessary, to give the least cost. Make sure that the branch that you have is the leftmost branch and therefore is evaluated first. The cost assigned to that node is this minimum cost value.

【0027】比較結果が統計的に独立していると想定す
れば、ANDノードに割当てられる確率はp1.p2で
ある。
Assuming that the comparison results are statistically independent, the probability assigned to the AND node is p1. p2.

【0028】ORノード コストc1.c2と確率p1.p2とを有するORノー
ドを考える。ブランチ1 が最初に評価されるならば、見
込コストはc1+(1−p1)c2となり、他方ブラン
チ2 が最初に評価されるとしたら、見込コストはc2+
(1−p2)c1となる。
OR node cost c1. c2 and probability p1. Consider an OR node with p2 and. If branch 1 is evaluated first, the expected cost is c1 + (1-p1) c2, while if branch 2 is evaluated first, the expected cost is c2 +.
(1-p2) c1.

【0029】前と同じように、コスト設定ルーチンは最
も少ないコストを与える評価の順序を決定し、必要に応
じてポインタに渡ってスワップし、最も少ないコストの
ブランチが最初に評価されるようにする。
As before, the cost-setting routine determines the order of evaluation that gives the lowest cost and swaps across pointers as needed so that the branch with the lowest cost is evaluated first. .

【0030】比較が統計的に独立しているものと想定す
れば、ORノードに割当てられる確率はp1+p2−p
1.p2となる。
Assuming the comparisons are statistically independent, the probability assigned to an OR node is p1 + p2-p.
1. It becomes p2.

【0031】[0031]

【発明の効果】以上述べた本発明のデータベースシステ
ムによれば、探索照会は最適化され、それによって各レ
コードに対する処理時間は短縮され、このため照会の全
体の実行速度は速められる効果を有する。
According to the database system of the present invention described above, the search query is optimized, whereby the processing time for each record is shortened, and thus the overall execution speed of the query is accelerated.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明を実施するデータ処理システムを示す。1 illustrates a data processing system embodying the present invention.

【図2】探索照会を最適化するためのコンパイラのフロ
ーチャートを示す。
FIG. 2 shows a flowchart of a compiler for optimizing search queries.

【図3】探索照会を表すシンタックスツリーを示す。FIG. 3 shows a syntax tree representing a search query.

【図4】コンパイラサブルーチンをより詳細に示す。FIG. 4 shows the compiler subroutine in more detail.

【符号の説明】[Explanation of symbols]

10 ホストコンピュータ 11 探索プロセッサ 12 ディスク駆動ユニット 13 バス 14 応用プログラム 15 コンパイラ 10 Host computer 11 Search processor 12 Disk drive unit 13 Bus 14 Application program 15 Compiler

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 一連のレコードを含んだデータベースを
記憶するための手段(12)と各レコードに対して行われる
べき比較の論理的な組合せからなる探索照会で上記デー
タベースを問い合わせるための手段(11)とを備えたデー
タベースシステムにおいて、上記探索照会の実行を最適
化するために上記比較の順序を再配列するための手段(1
5)を具備したことを特徴とするデータベースシステム。
1. Means for querying the database with a search query comprising a means for storing a database containing a series of records and a logical combination of comparisons to be made for each record. ) And a means (1) for rearranging the order of the comparisons to optimize the execution of the search query.
A database system characterized by having 5).
【請求項2】 上記比較の順序を再配列するための上記
手段は、(イ)比較のためにデータを検索しかつ比較を
実行するために必要な時間的なコストを指示して、上記
探索照会に関連した各比較に上記コストを割当てるため
の手段(42)と、(ロ)予め定められた結果を生じさせる
比較の可能性を指示して、各比較にその確率を割当てる
ための手段(43)と、(ハ)最少の見込コストを与える上
記比較を行う順序を見いだし、かつそれら比較をその順
序に再配列するための手段(43)とを含んだことを特徴と
する請求項1のデータベースシステム。
2. The means for rearranging the order of the comparisons comprises: (a) indicating the time cost required to retrieve the data for the comparisons and to perform the comparisons; Means (42) for assigning the cost to each comparison associated with the query and (b) means for indicating the likelihood of the comparison producing a predetermined result and assigning the probability to each comparison ( 43) and (c) means (43) for finding the order of performing the comparisons that gives the least possible cost and rearranging the comparisons in that order. Database system.
【請求項3】 上記探索照会を発生するためのホストコ
ンピュータを含んでおり、上記データベースを問い合わ
せるための上記手段は専用探索プロセッサ(11)を含んだ
ことを特徴とする請求項1のデータベースシステム。
3. The database system of claim 1, including a host computer for generating said search query, said means for querying said database including a dedicated search processor (11).
【請求項4】 上記比較の順序を再配列するための上記
手段は上記ホストコンピュータ内のコンパイラ手段(15)
を含んだことを特徴とする請求項3のデータベースシス
テム。
4. The compiler means (15) in the host computer for rearranging the order of the comparisons.
The database system according to claim 3, further comprising:
【請求項5】 上記データベースを記憶するための上記
手段は複数のディスクファイルユニット(12)を含んだこ
とを特徴とする請求項1のデータベースシステム。
5. The database system of claim 1, wherein said means for storing said database includes a plurality of disk file units (12).
【請求項6】 比較の論理的な組合せからなる探索照会
をコンパイルして最適化されたシーケンスの探索指令を
生じさせる方法において、(イ)比較のためにデータを
検索しかつ比較を実行するために必要な時間的なコスト
を指示して、上記探索照会に関連した各比較に上記コス
トを割当てるステップと、(ロ)予め定められた結果を
生じさせる比較の可能性を指示して、各比較にその確率
を割当てるステップと、(ハ)最少の見込コストを与え
る上記比較を行う順序を見いだしかつそれら比較をその
順序に再配列するステップを含んだことを特徴とする上
記方法。
6. A method of compiling a search query comprising a logical combination of comparisons to produce an optimized sequence of search instructions, (a) for retrieving data for comparison and performing the comparison. Assigning the cost to each comparison associated with the search query, and (b) indicating the likelihood of the comparison giving rise to a predetermined result. And (c) finding the order in which the comparisons that give the least possible cost are made and rearranging the comparisons in that order.
【請求項7】 上記比較の論理的な組合せはツリー構造
からなり、コストを各比較に割当てる上記ステップは上
記ツリーの根元から、上記ツリー構造の各ノードで再帰
的に行われることを特徴とする請求項7の方法。
7. The logical combination of comparisons comprises a tree structure, and the step of assigning a cost to each comparison is performed recursively from the root of the tree at each node of the tree structure. The method of claim 7.
JP2405642A 1989-12-23 1990-12-25 Database system Expired - Fee Related JP2859447B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB898929158A GB8929158D0 (en) 1989-12-23 1989-12-23 Database system
GB8929158.7 1989-12-25

Publications (2)

Publication Number Publication Date
JPH06131392A true JPH06131392A (en) 1994-05-13
JP2859447B2 JP2859447B2 (en) 1999-02-17

Family

ID=10668481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2405642A Expired - Fee Related JP2859447B2 (en) 1989-12-23 1990-12-25 Database system

Country Status (7)

Country Link
US (1) US5794227A (en)
EP (1) EP0435476B1 (en)
JP (1) JP2859447B2 (en)
AU (1) AU633670B2 (en)
DE (1) DE69031904T2 (en)
GB (1) GB8929158D0 (en)
ZA (1) ZA909851B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004515837A (en) * 2000-07-17 2004-05-27 シーメンス アクチエンゲゼルシヤフト How to compare search profiles
WO2017221308A1 (en) * 2016-06-20 2017-12-28 三菱電機株式会社 Data management device, data management method, data management program, search device, search method, and search program

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2124479A1 (en) * 1993-06-30 1994-12-31 Thaddeus Julius Kowalski Methods and apparatus for optimizing decision making
JP3322749B2 (en) * 1994-03-07 2002-09-09 株式会社ピーエフユー Database search processing method
US6026391A (en) * 1997-10-31 2000-02-15 Oracle Corporation Systems and methods for estimating query response times in a computer system
EP0973104A1 (en) * 1998-07-17 2000-01-19 Siemens Aktiengesellschaft Failure notification when trying to access a database
US7206774B1 (en) 2000-09-28 2007-04-17 Microsoft Corporation System and method for implementing a conditional payload server
DE60300984T2 (en) * 2003-06-04 2006-04-27 Sap Ag Method and computer system for optimizing a Boolean expression for request processing
US7739263B2 (en) * 2003-09-06 2010-06-15 Oracle International Corporation Global hints
US7877373B2 (en) * 2006-06-30 2011-01-25 Oracle International Corporation Executing alternative plans for a SQL statement
US8903801B2 (en) 2007-09-14 2014-12-02 Oracle International Corporation Fully automated SQL tuning
US8341178B2 (en) * 2007-09-18 2012-12-25 Oracle International Corporation SQL performance analyzer
US8335767B2 (en) 2007-10-17 2012-12-18 Oracle International Corporation Maintaining and utilizing SQL execution plan histories
US8655824B1 (en) 2011-03-07 2014-02-18 The Boeing Company Global policy framework analyzer
US9037568B1 (en) * 2013-03-15 2015-05-19 Google Inc. Factual query pattern learning
US10621064B2 (en) 2014-07-07 2020-04-14 Oracle International Corporation Proactive impact measurement of database changes on production systems
US11386058B2 (en) 2017-09-29 2022-07-12 Oracle International Corporation Rule-based autonomous database cloud service framework
US11327932B2 (en) 2017-09-30 2022-05-10 Oracle International Corporation Autonomous multitenant database cloud service framework

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4450520A (en) * 1981-03-11 1984-05-22 University Of Illinois Foundation Method and system for matching encoded characters
US4417305A (en) * 1981-09-08 1983-11-22 International Business Machines Corporation Method for evaluating boolean expressions
US4901232A (en) * 1983-05-19 1990-02-13 Data General Corporation I/O controller for controlling the sequencing of execution of I/O commands and for permitting modification of I/O controller operation by a host processor
US4829427A (en) * 1984-05-25 1989-05-09 Data General Corporation Database query code generation and optimization based on the cost of alternate access methods
US4703435A (en) * 1984-07-16 1987-10-27 International Business Machines Corporation Logic Synthesizer
JPS61137203A (en) * 1984-12-07 1986-06-24 Hitachi Ltd Recording and reproducing device of digital information
US4722071A (en) * 1985-04-19 1988-01-26 Pertron Controls, Corporation Compiler for evaluating Boolean expressions
US4918593A (en) * 1987-01-08 1990-04-17 Wang Laboratories, Inc. Relational database system
US4811199A (en) * 1987-05-08 1989-03-07 Kuechler William L System for storing and manipulating information in an information base
US5239663A (en) * 1987-06-15 1993-08-24 Centre National De La Recherche Scientifique Self-adapting and multifunctional process and structure for the automated evaluation of logical or arithmetic expressions, particularly for extended database consultation
JP2760794B2 (en) * 1988-01-29 1998-06-04 株式会社日立製作所 Database processing method and apparatus
CA2003043C (en) * 1988-11-18 1994-04-05 Masataka Nakasuji Information searching apparatus
US5201048A (en) * 1988-12-01 1993-04-06 Axxess Technologies, Inc. High speed computer system for search and retrieval of data within text and record oriented files

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004515837A (en) * 2000-07-17 2004-05-27 シーメンス アクチエンゲゼルシヤフト How to compare search profiles
JP4868484B2 (en) * 2000-07-17 2012-02-01 シーメンス アクチエンゲゼルシヤフト How to compare search profiles
WO2017221308A1 (en) * 2016-06-20 2017-12-28 三菱電機株式会社 Data management device, data management method, data management program, search device, search method, and search program

Also Published As

Publication number Publication date
AU6837490A (en) 1991-06-27
ZA909851B (en) 1991-10-30
EP0435476A2 (en) 1991-07-03
JP2859447B2 (en) 1999-02-17
US5794227A (en) 1998-08-11
DE69031904T2 (en) 1998-08-06
AU633670B2 (en) 1993-02-04
EP0435476B1 (en) 1998-01-07
DE69031904D1 (en) 1998-02-12
GB8929158D0 (en) 1990-02-28
EP0435476A3 (en) 1993-03-24

Similar Documents

Publication Publication Date Title
JP2859447B2 (en) Database system
US6439783B1 (en) Range-based query optimizer
US5454105A (en) Document information search method and system
US6304867B1 (en) System and method for enhanced performance of a relational database management system through the use of application-specific memory-resident data
AU777792B2 (en) System for managing RDBM fragmentations
JP3122185B2 (en) Database search processor
US6678687B2 (en) Method for creating an index and method for searching an index
JP3771271B2 (en) Apparatus and method for storing and retrieving ordered collections of keys in a compact zero complete tree
KR940004389B1 (en) Method and system for access plan generation to relational data base
US8626745B2 (en) Multi-query optimization
US7062499B2 (en) Enhanced multiway radix tree and related methods
US20050267902A1 (en) Database and method of generating same
EP0442684A2 (en) Joining selected data in tables of a relational data base system
JPH06214843A (en) Data base management system and processing method for inquiry
CN114090695A (en) Query optimization method and device for distributed database
US5898874A (en) Dynamic codeset translation environment
US7010539B1 (en) System and method for schema method
US20020040357A1 (en) Configurable pattern recognition and filtering tool
JP2000090115A (en) Index generating method and retrieval method
JPH0773187A (en) Retrieving system
JPH05313971A (en) Key word managing system in relational data base
CN114416086A (en) Identification operation method and device of WEB interaction interface object and storage medium
JP2722684B2 (en) File system search device
JPH0423167A (en) Command retrieving system
JPH04337867A (en) Data base retrieval system

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19981104

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees