JP3073889B2 - Data transfer method - Google Patents

Data transfer method

Info

Publication number
JP3073889B2
JP3073889B2 JP06164018A JP16401894A JP3073889B2 JP 3073889 B2 JP3073889 B2 JP 3073889B2 JP 06164018 A JP06164018 A JP 06164018A JP 16401894 A JP16401894 A JP 16401894A JP 3073889 B2 JP3073889 B2 JP 3073889B2
Authority
JP
Japan
Prior art keywords
data
index
block
computer system
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.)
Expired - Fee Related
Application number
JP06164018A
Other languages
Japanese (ja)
Other versions
JPH0830639A (en
Inventor
義聡 竹田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP06164018A priority Critical patent/JP3073889B2/en
Publication of JPH0830639A publication Critical patent/JPH0830639A/en
Application granted granted Critical
Publication of JP3073889B2 publication Critical patent/JP3073889B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】この発明は、計算機システムから
データベース装置への高速なデータ転送方式並びに該方
式におけるデータ転送量見積り方法に関するものであ
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a high-speed data transfer method from a computer system to a database device and a method for estimating a data transfer amount in the method.

【0002】[0002]

【従来の技術】社団法人情報処理学会発行「情報処理」
平成4年12月号(第33巻第12号)pp.1388
−1440に従来のデータベース装置を備えたデータベ
ースシステムについての記載がある。図8は上記文献p
p1416−1423で紹介された従来のデータベース
装置を備えたデータベースシステムにおける、計算機シ
ステムよりデータベース装置へのデータ転送方式であ
る。図において、1は計算機システム、2はこの計算機
システム1の全部のデータ、4は計算機システム1に接
続されたデータベース装置、5はデータ2の中で最終的
に選択されるべきデータ、8はデータベース装置4を経
て最終的に選ばれたデータ、15は転送されるデータで
ある。
[Prior Art] "Information Processing" published by Information Processing Society of Japan
December, 1992 (Vol. 33, No. 12) pp. 1388
-1440 describes a database system provided with a conventional database device. FIG.
This is a data transfer method from a computer system to a database device in a database system having a conventional database device introduced on pages 1416-1423. In the figure, 1 is a computer system, 2 is all data of the computer system 1, 4 is a database device connected to the computer system 1, 5 is data to be finally selected from the data 2, and 8 is a database. Data 15 finally selected via the device 4 is data to be transferred.

【0003】従来のデータ転送方式では、計算機システ
ム1の計算機負荷を軽くするため、選択処理の当該ファ
イルに含まれるデータ全部2を計算機システム1からデ
ータベース装置4へ接続装置を経由して転送していた。
選択条件を満たすデータ8を選び出す作業は、以上のデ
ータ転送作業の後、データベース装置4が行っていた。
In the conventional data transfer method, in order to reduce the computer load on the computer system 1, all the data 2 included in the file in the selection process is transferred from the computer system 1 to the database device 4 via the connection device. Was.
The operation of selecting the data 8 satisfying the selection condition has been performed by the database device 4 after the above data transfer operation.

【0004】上記文献においては、データ選択をともな
うデータベース処理において計算機システム1からデー
タベース装置4へのデータ転送にかかる時間を節約する
方法、特に索引を用いてデータ転送時間を節約する方法
については述べられていない。
The above-mentioned literature describes a method for saving the time required for data transfer from the computer system 1 to the database device 4 in database processing involving data selection, particularly a method for saving data transfer time using an index. Not.

【0005】[0005]

【発明が解決しようとする課題】上記のような従来のデ
ータ転送方式においては、選択条件を満たすデータが著
しく少ない場合、計算機システムからデータベース装置
へのデータ転送時間が、ユーザがデータ選択条件を入力
してから検索結果を得るまでの時間の大半を占める処理
があった。このような処理を日常大量に行なうデータベ
ース利用者には、計算機システムからデータベース装置
へのデータ転送時間を短縮したいという要望があった。
In the conventional data transfer method as described above, when the amount of data that satisfies the selection condition is extremely small, the data transfer time from the computer system to the database device is reduced by the user inputting the data selection condition. After that, there was a process that took up most of the time until the search results were obtained. A database user who performs such processing on a large scale on a daily basis has been demanded to reduce the data transfer time from the computer system to the database device.

【0006】また、計算機システムからデータベース装
置へのデータ転送時間がデータベース処理にかかる時間
に占める割合は、選択の当該データ数が大量になればな
るほど高くなる。近年データベースの利用が広まるにつ
れて、各種データベースに蓄積されるデータは爆発的に
増加の一途をたどっており、ユーザがデータ選択条件を
入力してから検索結果を得るまでの時間を短縮してほし
いという要望が広まっていた。
In addition, the ratio of the data transfer time from the computer system to the database device to the time required for the database processing increases as the number of selected data items increases. As the use of databases has spread in recent years, the amount of data stored in various databases has exploded, and the user wants to reduce the time from entering data selection conditions to obtaining search results. The request was widespread.

【0007】この発明は以上のような問題点を解決する
ためになされたもので、計算機システムからデータベー
ス装置へのデータ転送量を減らし、ユーザがデータ選択
条件を入力してから検索結果を得るまでの時間を短縮す
ることを目的とする。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems, and reduces the amount of data transferred from a computer system to a database device, and from the time when a user inputs data selection conditions to when a search result is obtained. The purpose is to reduce the time of

【0008】[0008]

【課題を解決するための手段】1のデータ転送方法
は、計算機システムとデータベース装置を接続装置でつ
ないだデータベースシステムにおいて、データ選択条件
を含むデータベース処理が与えられた場合、該データ選
択条件について索引が使えるか判断し、使える場合は前
記計算機システムにある前記データ選択条件を満たす全
てのデータを含むデータブロック群を前記索引を使って
求め、該データブロック群を前記計算機システムからデ
ータベース装置へ転送するものである。
According to a first aspect a method of data transfer in a computer system and database system by connecting the database apparatus in connection device, if the database processing including data selection condition is given, for the data selection condition It is determined whether an index can be used. If the index can be used, a data block group including all data satisfying the data selection condition in the computer system is obtained using the index, and the data block group is transferred from the computer system to the database device. Is what you do.

【0009】2のデータ転送方法は、計算機システム
とデータベース装置を接続装置でつないだデータベース
システムにおいて、選択条件を満たすデータを調べるた
めに使われる索引のルートブロックのエントリの数を求
め、この数に前記索引の1ブロックに含まれるエントリ
数を索引のレベル数から1を引いた回数だけ掛け合わせ
た数により前記選択条件を満たすデータの数を見積もる
ものである。
[0009] The second data transfer Okukata method, in a computer system and database system by connecting the database apparatus in connection device, determine the number of entries in the root block of the index used to determine the selection criteria data, The number of data that satisfies the selection condition is estimated by the number obtained by multiplying this number by the number of entries included in one block of the index by the number obtained by subtracting 1 from the number of levels in the index.

【0010】3のデータ転送方法は、計算機システム
とデータベース装置を接続装置でつないだデータベース
システムにおいて、選択条件を満たすデータを調べるた
めに使われる索引のルートブロックより1レベル下のエ
ントリの数を求め、この数に前記索引の1ブロックに含
まれるエントリ数を索引のレベル数から2を引いた回数
だけ掛け合わせた数により前記選択条件を満たすデータ
の数を見積もるものである。
A third data transfer Okukata method, computer in the system and the connected database system database device connection device, a 1 under the level of entry than the root block of the index used to determine the selection criteria data The number is obtained, and the number of data satisfying the selection condition is estimated by the number obtained by multiplying the number by the number of entries included in one block of the index by the number obtained by subtracting 2 from the number of levels of the index.

【0011】4のデータ転送方法は、計算機システム
とデータベース装置を接続装置でつないだデータベース
システムにおいて、索引のルートブロックより1レベル
下に含まれる選択条件を満たすデータを調べるために使
われる先頭エントリを有する副ブロックの数を求め、こ
の数に前記副ブロック1個に含まれるエントリ数を乗
じ、さらにこの数に前記索引の1ブロックに含まれるエ
ントリ数を前記索引のレベル数から2を引いた回数だけ
掛け合わせた数により前記選択条件を満たすデータの数
を見積もるものである。
[0011] The fourth data transfer Okukata method, in a computer system and the connected database system database device connection device, is used to examine the selection criteria data included in one level below the root block of the index The number of sub-blocks having the head entry is obtained, this number is multiplied by the number of entries included in one sub-block, and the number is further reduced by 2 from the number of levels in the index. The number of data that satisfies the selection condition is estimated by the number multiplied by the number of subtractions.

【0012】5のデータ転送方法は、第1のデータ転
送方法において、2または3または第4のデータ転
送方法により選択条件を満たすデータの数を見積り、こ
のデータのアドレスを取り出して計算機システムからデ
ータベース装置へ転送するデータを決める処理に必要な
索引部のレベル0のブロックの入出力時間を予測し、全
てのデータを前記計算機システムからデータベース装置
へ転送する処理に必要な入出力命令の実行時間と比較し
て、前者が後者より長い場合は高速化の処理を中止する
ことを特徴とする。
[0012] The fifth method of data transfer in the first data transfer method, the second or third or fourth data transfer
It estimates the number of selected data that satisfies the Okukata method predicts the output time of the block of level 0 of the index portion required for the processing to determine the data to be transferred to the address of the data from the computer system retrieves the database device If the former is longer than the latter, as compared with the execution time of the input / output command required to transfer all the data from the computer system to the database device, the high-speed processing is stopped.

【0013】6のデータ転送方法は、第1のデータ転
送方法において、計算機システムにある索引つきの選び
出した条件を満たす全てのデータを含むデータブロック
群の位置を索引を使って求める処理の途中で、この処理
で索引を読み込むのに使った入出力命令の回数を求めて
第5のデータ転送方法の予測値を更新し、全てのデータ
を前記計算機システムからデータベース装置へ転送する
処理に必要な入出力命令の実行時間と比較して、前者が
後者より長い場合は高速化の処理を中止することを特徴
とする。
[0013] The sixth method of data transfer in the first data transfer method, the position of the data block group containing all the data satisfy the conditions were selected for indexed in a computer system using the index obtaining process in the middle The number of I / O instructions used to read the index in this process
The predicted value of the fifth data transfer method is updated, and compared with the execution time of the input / output instruction required for the process of transferring all data from the computer system to the database device, if the former is longer than the latter, the speed is increased. Is stopped.

【0014】7のデータ転送方法は、計算機システム
とデータベース装置を接続装置でつないだデータベース
システムにおいて、論理演算子(and,or,no
t)で結び付けられたデータ選択条件を含むデータベー
ス処理が与えられた場合、前記条件について索引が使え
るならば、前記データ選択条件のうち前記論理演算子、
または該論理演算子の適用範囲の区切り子、または前記
論理演算子を含まない条件子、または条件群の終端記号
を1単位要素として、前記データ選択条件の中の連続す
る2単位要素の組み合わせの並び方を分類した情報をも
とに、前記論理演算子の適用範囲を明らかにし、データ
転送量を減らすために一定個以上の前記論理演算子から
作用を受ける条件群を計算する必要のある条件群につい
ては処理を中止することを特徴とする。
[0014] Data transfer method seventh in a computer system and database system by connecting the database apparatus in connection device, logical operators (and, or, no
Given a database processing that includes the data selection conditions linked in t), if an index is available for the conditions, then the logical operator of the data selection conditions
Or a combination of two consecutive unit elements in the data selection condition, with a separator of the applicable range of the logical operator, a conditioner not including the logical operator, or a terminal symbol of the condition group as one unit element. A condition group that needs to calculate a condition group affected by at least a certain number of the logical operators in order to clarify the applicable range of the logical operator based on the classified information and reduce the data transfer amount. Is characterized in that the processing is stopped.

【0015】8のデータ転送方法は、計算機システム
とデータベース装置を接続装置でつないだデータベース
システムにおいて、論理演算子で結び付けられたデータ
選択条件を含むデータベース処理が与えられた場合、前
記条件について索引が使えるならば、前記データ選択条
件のうち索引のついているものを組み合わせ、与えられ
た全てのデータの選択条件を満たすデータを全部含むよ
うな条件の組を選び出し、前記計算機システムにある索
引つきの選び出した条件を満たす全てのデータを含む連
続するデータブロック群のアドレスの最大値と最小値を
索引を使って求め、このアドレスを持つブロックに挟ま
れるブロック群を前記計算機システムからデータベース
装置へ転送することを特徴とする。
The data transfer method of the eighth, the computer system and the connected database system database device connection device, if the database processing including tied data selection condition by logical operators are given for the condition index Can be used, the indexed ones of the data selection conditions are combined, and a set of conditions that includes all the data that satisfies the given selection conditions of all data is selected, and an indexed selection in the computer system is selected. The maximum value and the minimum value of the address of a continuous data block group including all data satisfying the above conditions are obtained by using an index, and the block group sandwiched by blocks having this address is transferred from the computer system to the database device. It is characterized by.

【0016】9のデータ転送方法は、計算機システム
とデータベース装置を接続装置でつないだデータベース
システムにおいて、論理演算子で結び付けられたデータ
選択条件を含むデータベース処理が与えられた場合、前
記条件について索引が使えるならば、前記データ選択条
件のうち索引のついているものを組み合わせ、与えられ
た全てのデータの選択条件を満たすデータを全部含むよ
うな条件の組を選び出し、前記計算機システムにあるブ
ロック中のデータのキー値の最大値、最小値を知る付加
情報を備えたデータブロックについて、索引つきの選び
出した条件を満たす全てのデータを含む全てのデータブ
ロックを索引と前記付加情報を使って求め、このデータ
ブロック群を前記計算機システムからデータベース装置
へ転送することを特徴とする。
The ninth method of data transfer in a computer system and the connected database system database device connection device, if the database processing including tied data selection condition by logical operators are given for the condition index Can be used, the indexed ones of the data selection conditions are combined, and a set of conditions including all data satisfying the selection conditions of all given data is selected, and a block in the block in the computer system is selected. With respect to a data block having additional information for knowing the maximum value and the minimum value of the key value of the data, all data blocks including all data satisfying the selected condition with an index are obtained using the index and the additional information. Transferring the block group from the computer system to the database device. And butterflies.

【0017】[0017]

【0018】[0018]

【作用】1のデータ転送方法は、データ選択条件を含
むデータベース処理が与えられたとき、この条件につい
て索引が使えるかどうか判断し、もし索引が使えるなら
ば、計算機システムにある、条件を満たす全てのデータ
を含むデータブロック群を、索引を使って求め、このデ
ータブロック群を計算機システムからデータベース装置
へ転送し、データ全部を計算機システムからデータベー
ス装置へ転送する場合よりデータ転送量を減らしてデー
タベース処理を高速化する。
In the first data transfer method, when a database process including a data selection condition is given, it is determined whether or not an index can be used for this condition. If an index can be used, the condition in the computer system is satisfied. A data block group including all data is obtained using an index, the data block group is transferred from the computer system to the database device, and the data transfer amount is reduced compared to the case where all data is transferred from the computer system to the database device. Speed up processing.

【0019】2のデータ転送方法は、選択条件を満た
すデータを調べるために使われる索引のルートブロック
のエントリの数を求め、この数に索引の1ブロックに含
まれるエントリ数を索引のレベル数から1引いた回数だ
け掛け合わせた数により選択条件を満たすデータの数を
見積もる。
In the second data transfer method, the number of entries in the root block of the index used to check the data satisfying the selection condition is obtained, and the number of entries included in one block of the index is added to this number. The number of data that satisfies the selection condition is estimated by the number obtained by multiplying by 1 the number of times.

【0020】3のデータ転送方法は、選択条件を満た
すデータを調べるために使われる索引のルートブロック
より1レベル下のエントリの数を求め、この数に索引の
1ブロックに含まれるエントリ数を索引のレベル数から
2引いた回数だけ掛け合わせた数により選択条件を満た
すデータの数を見積もる。
In the third data transfer method, the number of entries one level lower than the root block of the index used for checking data satisfying the selection condition is obtained, and the number of entries included in one block of the index is calculated. The number of data that satisfies the selection condition is estimated by the number obtained by multiplying the number of index levels by two.

【0021】4のデータ転送方法は、索引のルートブ
ロックより1レベル下に含まれる選択条件を満たすデー
タを調べるために使われる先頭エントリを有する副ブロ
ックの数を求め、この数に副ブロック1個に含まれるエ
ントリ数を乗じ、さらにこの数に前記索引の1ブロック
に含まれるエントリ数を前記索引のレベル数から2を引
いた回数だけ掛け合わせた数により選択条件を満たすデ
ータの数を見積もる。
In the fourth data transfer method, the number of sub-blocks having a head entry used for checking data satisfying the selection condition one level lower than the root block of the index is obtained, and this number is used as the sub-block 1 Is multiplied by the number of entries included in the index and the number is multiplied by the number of entries included in one block of the index by the number obtained by subtracting 2 from the number of levels of the index to estimate the number of data satisfying the selection condition. .

【0022】5のデータ転送方法は、選択条件を満た
すデータの数を見積り、このデータのアドレスを取り出
して計算機システムからデータベース装置へ転送するデ
ータを決める処理に必要な索引部のレベル0のブロック
の入出力時間を予測し、全てのデータを計算機システム
からデータベース装置へ転送する処理に必要な入出力命
令の実行時間と比較して、前者が後者より長い場合は高
速化の処理を中止する。
In the fifth data transfer method, the number of data satisfying the selection condition is estimated, the address of this data is taken out, and the level 0 block of the index unit necessary for determining the data to be transferred from the computer system to the database device. If the former is longer than the latter, it is compared with the execution time of the input / output command required for the transfer of all data from the computer system to the database device, and the speed-up process is stopped.

【0023】6のデータ転送方法は、計算機システム
にある索引つきの選び出した条件を満たす全てのデータ
を含むデータブロック群の位置を索引を使って求める処
理の途中で、この処理で索引を読み込むのに使った入出
力命令の回数を求めて予測値を更新し、全てのデータを
計算機システムからデータベース装置へ転送する処理に
必要な入出力命令の実行時間と比較して、前者が後者よ
り長い場合は高速化の処理を中止する。
In the sixth data transfer method, the index is read by this process during the process of using the index to find the position of a data block group including all data satisfying the selected condition with an index in the computer system. If the former is longer than the latter, the predicted value is updated by calculating the number of I / O instructions used for the command, and compared with the execution time of the I / O instructions required to transfer all data from the computer system to the database device. Stops the speed-up process.

【0024】7のデータ転送方法は、データ選択条件
中の連続する2単位要素の組み合わせの並び方を分類し
た情報をもとに、論理演算子の適用範囲を明らかにし、
データ転送量を減らすために一定個以上の論理演算子か
ら作用を受ける条件群を計算する必要のある条件群につ
いては処理を中止する。
The seventh data transfer method clarifies the application range of the logical operator based on information that classifies the arrangement of combinations of two consecutive unit elements in the data selection condition,
Processing is stopped for a condition group that needs to calculate a condition group affected by a certain number or more of logical operators in order to reduce the data transfer amount.

【0025】8のデータ転送方法は、計算機システム
にある索引つきの選び出した条件を満たす全てのデータ
を含む連続するデータブロック群のアドレスの最大値と
最小値を索引を使って求め、このアドレスを持つブロッ
クに挟まれるブロック群を計算機システムからデータベ
ース装置へ転送する。
The data transfer method of the eighth, the computer maximum address of data block set and minimum contiguous contains all the data satisfy the conditions were selected for indexed in the system be used to calculate the index, the address The block group sandwiched between the blocks having the block is transferred from the computer system to the database device.

【0026】9のデータ転送方法は、計算機システム
にあるブロック中のデータのキー値の最大値、最小値を
知る付加情報を備えたデータブロックについて、索引つ
きの選び出した条件を満たす全てのデータを含む全ての
データブロックを索引と付加情報を使って求め、このデ
ータブロック群を計算機システムからデータベース装置
へ転送する。
The ninth method of data transfer, the maximum value of key values of data in blocks in the computer system, the data block with the additional information to know the minimum value, all the data satisfy the conditions were selected for indexed All data blocks are obtained using the index and the additional information, and this data block group is transferred from the computer system to the database device.

【0027】[0027]

【0028】[0028]

【実施例】【Example】

実施例1.図1、図5を用いて、この発明の実施例1を
説明する。図1は、データベース装置を備えたデータベ
ースシステムを高速化した図である。図において、1は
計算機システム、2は計算機システム1のデータ部、3
は計算機システム1の提供する索引部、4はデータベー
ス装置である。5はデータベースシステムに与えられた
データの選択条件を全て満たす、最終的に選択するべき
データである。6は選択条件を満たすデータ、7は索引
を使える選択条件を満たしたデータ、8はデータベース
装置4を経て最終的に選ばれたデータ、9は計算機シス
テム1からデータベース装置4に転送されるデータの流
れ、10はデータベース装置4によって選び出された選
択条件を満たすデータ、11は個々のデータ(データレ
コード)、12はデータブロック、13は索引部のエン
トリ、14は索引部のブロック(特にルートブロッ
ク)、16は索引部のエントリ群、17はデータ群、1
8はデータブロック群、19はデータ群である。
Embodiment 1 FIG. First Embodiment A first embodiment of the present invention will be described with reference to FIGS. FIG. 1 is a diagram in which the speed of a database system including a database device is increased. In the figure, 1 is a computer system, 2 is a data part of the computer system 1, 3
Is an index unit provided by the computer system 1, and 4 is a database device. Reference numeral 5 denotes data to be finally selected, which satisfies all the data selection conditions given to the database system. 6 is data that satisfies the selection condition, 7 is data that satisfies the selection condition that can use the index, 8 is data that is finally selected via the database device 4, 9 is data that is transferred from the computer system 1 to the database device 4. The flow 10 is data satisfying the selection conditions selected by the database device 4, 11 is individual data (data record), 12 is a data block, 13 is an index entry, and 14 is an index block (particularly a root block). ), 16 is an index group entry group, 17 is a data group, 1
8 is a data block group, and 19 is a data group.

【0029】図8に示す従来処理では全データ2を、計
算機システム1からデータベース装置4に転送した後、
データベース装置4が、選択条件を満たすデータ5を選
んでいた。これに対し本発明を用いて実現した図1のデ
ータベースでは、索引を使える選択条件を満たしたデー
タ6だけが計算機システム1からデータベースシステム
に送られる。選択条件を満たしたデータ6と転送される
データ15でそれぞれ示された本発明を用いたデータベ
ースシステムと従来システムでのデータ転送量の差が、
データ転送にかかる時間を節約し、本発明を用いたデー
タベースシステムによるデータベース処理を高速化す
る。データ部2と索引部3の構造を具体的に示したのが
図5である。データ部2は、個々のデータ11の集合で
ある。個々のデータ11は定数個(図5では3個)ずつ
まとまって、データブロック12を形成する。通常の計
算機システム1は、このデータブロック12を入出力の
単位とする。以下では、この例のデータベースシステム
でも、計算機システム1からデータベース装置4へのデ
ータの転送は、このデータブロック12を単位として行
われるものとする。索引部3は個々のデータ11におけ
る特定の場所の値(キー値)を保持するエントリ13よ
りなり、エントリ13が複数個(この例では3個)集ま
って、ブロック14(索引部のブロック)を形成する。
特に、索引部3の最も上にあるブロック14は、索引部
3のルートブロックと呼ばれる。索引部3の全体は図5
に示すように、ブロックがツリー構造になっている。索
引部3の水平方向の並びはレベルと呼ばれ、ルートブロ
ックに近いレベルは上位レベル、ルートブロックから離
れ、データ部に近いレベルは下位レベルと呼ばれる。図
5のように、索引部3の同一レベル内のエントリ13は
保持するキー値の昇順に(降順でもよい)並んでいる。
この図5の例では、キー値として1から100までの値
をもつデータ群、およびこれらデータ群についての索引
が示されている。索引部の最も下のレベル(レベル0と
呼ぶ)のエントリは個々のデータと1対1に対応し、個
々のデータへのポインタ、および対応するデータのキー
値を保持している。レベル0以外の個々のエントリは、
1つ下のレベルの索引部のブロックと1対1に対応して
おり、この対応するブロック内にあるエントリのキー値
の最大値(エントリがキー値の降順に並んでいる場合は
最小値)、および対応する下位レベルのブロックへのポ
インタを保持している。
In the conventional processing shown in FIG. 8, after transferring all data 2 from the computer system 1 to the database device 4,
The database device 4 has selected data 5 that satisfies the selection conditions. On the other hand, in the database of FIG. 1 realized by using the present invention, only the data 6 that satisfies the selection condition for using the index is sent from the computer system 1 to the database system. The difference between the data transfer amount between the database system using the present invention and the conventional system indicated by the data 6 satisfying the selection condition and the data 15 transferred, respectively, is as follows.
The time required for data transfer is saved, and the speed of database processing by the database system using the present invention is increased. FIG. 5 specifically shows the structures of the data section 2 and the index section 3. The data section 2 is a set of individual data 11. The individual data 11 is grouped by a constant number (three in FIG. 5) to form a data block 12. The ordinary computer system 1 uses the data block 12 as an input / output unit. Hereinafter, even in the database system of this example, it is assumed that data transfer from the computer system 1 to the database device 4 is performed in units of the data blocks 12. The index unit 3 includes an entry 13 that holds a value (key value) of a specific location in each data 11, and a plurality of entries 13 (three in this example) are collected to form a block 14 (a block of the index unit). Form.
In particular, the block 14 at the top of the index unit 3 is called the root block of the index unit 3. The entire index part 3 is shown in FIG.
As shown in the figure, the blocks have a tree structure. The horizontal arrangement of the index section 3 is called a level, a level near the root block is called an upper level, a level away from the root block, and a level near the data section is called a lower level. As shown in FIG. 5, the entries 13 in the same level of the index unit 3 are arranged in ascending order (or descending order) of the held key values.
In the example of FIG. 5, a data group having a value from 1 to 100 as a key value, and indexes for these data groups are shown. The entry at the lowest level (referred to as level 0) of the index portion has a one-to-one correspondence with each piece of data, and holds a pointer to each piece of data and a key value of the corresponding data. Individual entries other than level 0 are
It has a one-to-one correspondence with the block of the index part at the next lower level, and the maximum value of the key value of the entry in the corresponding block (the minimum value if the entries are arranged in descending order of the key value) , And a pointer to the corresponding lower-level block.

【0030】データの値を特定してデータ部から取り出
すとき、索引を使うとどのデータの取り出しも次に示す
手順に従って高速に行うことができる。ルートブロック
14から順に索引部3をたどり、索引部3のエントリの
キー値と検索するデータの値を比較し、検索データの値
以上のキー値を保持する最初のエントリを見つけ、その
ポインタをたどって次のブロックを取り出すことを、検
索データにたどりつくまで繰り返す。データの選択条件
としてデータの値の範囲を与えられたときは、条件の値
の範囲に対応するキー値をもつ索引部3のレベル0のエ
ントリを探し、与えられた範囲以内の値を持つデータ群
へのポインタを取り出すことができる。このレベル0の
エントリを探すために、索引部3をルートブロック14
から順にたどり、レベル0以外のブロックでは、条件の
最小値以上のキー値、および最大値より大きいキー値を
持つそれぞれ最初のエントリ(エントリがキー値の降順
に並んでいる場合はそれぞれ最後のエントリ)を探し、
両者の間にあるエントリの保持する下位レベルへのポイ
ンタをたどり、レベル0のブロックを取り出すまで、ポ
インタの示す下位のレベルのブロックを取り出し、ブロ
ック内のエントリの検索を繰り返す。本発明ではこのこ
とを利用して、データの選択条件に索引が使えるとき、
計算機システム1からデータベース装置4へ転送するデ
ータを、索引の使える選択条件を満たすもののみに絞
り、データ転送量を節約する。
When a value of data is specified and extracted from the data portion, any data can be extracted at high speed by using an index according to the following procedure. The index section 3 is sequentially traced from the root block 14, the key value of the entry in the index section 3 is compared with the value of the data to be searched, the first entry having a key value equal to or greater than the value of the search data is found, and the pointer is traced. To retrieve the next block until the search data is reached. When a data value range is given as a data selection condition, a level 0 entry of the index unit 3 having a key value corresponding to the condition value range is searched, and data having a value within the given range is searched. The pointer to the group can be retrieved. To search for this level 0 entry, the index unit 3 is added to the root block 14.
In the blocks other than level 0, the first entry having a key value equal to or greater than the minimum value of the condition and the key value greater than the maximum value (or the last entry if the entries are arranged in descending order of the key value) )
The pointer to the lower level held by the entry between them is traced, and the block at the lower level indicated by the pointer is fetched until the block at level 0 is fetched, and the search for entries in the block is repeated. The present invention makes use of this fact when an index can be used for data selection conditions.
The data to be transferred from the computer system 1 to the database device 4 is reduced to only those satisfying the selection condition for using the index, thereby saving the data transfer amount.

【0031】例えば図5で、「80〜90のキー値を持
つデータ」が選択条件として与えられたとすると、図中
のエントリ群16が、条件を満たすキー値を持つレベル
0のエントリを探すのに手繰る、索引部3のエントリ群
である。これは、図1の索引を使える選択条件を満たし
たデータ7で示した部分に対応する。このエントリ群1
6を、上で述べた手順に従ってルートブロック14から
順にこれらエントリ群16を調べ、80〜90のキー値
を持つレベル0のエントリを探す。これらのエントリに
対応するのがデータ群17である。これは、図1に示し
たデータ群5に対応する。データブロック群18、また
はデータブロック群18よりデータ群19を取り除いた
ものが、計算機システム1からデータベース装置に転送
される。これは、図1の選択条件を満たすデータ6で示
した部分に対応する。なお、選択条件を満たすデータの
検索は、索引部3のレベル0のエントリが隣のエントリ
へのポインタを持つときや、容易に隣のエントリの位置
を求めることができるときは、条件の最大値、最小値に
対応するレベル0のエントリを求め、両者の間のレベル
0のエントリを調べることによっても実現できる。図5
の例にこの方法を適用すると、エントリ群16の全てを
たどることなく(レベル0のエントリ群の1つ上のレベ
ルの90のキー値を持つエントリが除かれる)、各レベ
ルの端にあるエントリを調べていくことにより、データ
群17に対応するレベル0のエントリ群を取り出すこと
ができる。
For example, in FIG. 5, if "data having key values of 80 to 90" is given as a selection condition, the entry group 16 in the figure searches for a level 0 entry having a key value satisfying the condition. Is a group of entries of the index unit 3. This corresponds to the portion indicated by the data 7 in FIG. 1 that satisfies the selection condition for using the index. This entry group 1
6 are examined sequentially from the root block 14 in accordance with the above-described procedure, and a level 0 entry having a key value of 80 to 90 is searched. The data group 17 corresponds to these entries. This corresponds to the data group 5 shown in FIG. The data block group 18 or the data block group 18 from which the data group 19 has been removed is transferred from the computer system 1 to the database device. This corresponds to the portion indicated by data 6 that satisfies the selection condition in FIG. The search for data satisfying the selection condition is performed when the level 0 entry of the index unit 3 has a pointer to the next entry or when the position of the next entry can be easily obtained. , A level 0 entry corresponding to the minimum value, and checking the level 0 entry between the two. FIG.
Applying this method to the example of the above, the entry at the end of each level can be determined without tracing the entire entry group 16 (the entry having the key value of 90 which is one level higher than the entry group of the level 0 is excluded). Is checked, a level 0 entry group corresponding to the data group 17 can be extracted.

【0032】次に、この実施例の動作を図2に示すフロ
ーチャートとともに説明する。ユーザからデータの選択
条件がこの実施例のデータベースシステムに一つ与えら
れると、その選択条件に索引が使えるかどうか調べる
(ステップ101)。索引が使えるときは、選択条件の
最小値に対応する索引部のレベル0のエントリを探し
(ステップ102)(図5のエントリ群16のうち、レ
ベル0における左端のエントリに相当する)、このエン
トリに対応するデータのアドレスを取り出す(ステップ
103)(図5のデータ群17のうち、左端のデータの
アドレスに相当する)。索引部3のレベル0のエントリ
群を、キー値の昇順に次々取り出し(ステップ10
5)、これらのエントリに対応するデータのアドレスを
取り出していく(ステップ103)。図5では、エント
リ群16のうちレベル0にあるエントリを左から右に一
つづつ調べ、データ群17のアドレスを取り出していく
ことに相当する。この時、選択条件の最大値に対応する
索引部のレベル0のエントリを見つけると(ステップ1
04)、取り出した全てのデータのアドレスより、これ
らの全てのデータを含むデータブロックを計算機システ
ム1からデータベース装置4へ送り(ステップ10
6)、処理を終了する(レベル0のエントリを調べる順
序は最大値から順にキー値の降順でもよい)。このと
き、例えば条件を満たす全てのデータを含む、連続する
データブロック群のアドレスの最大値と最小値を、索引
を使って求め、このアドレスを持つブロックに挟まれる
ブロック群を計算機システム1からデータベース装置4
に転送すると、図5のブロック群18では、条件を満た
すデータを含まないブロック19も一緒に転送される。
これは、データベースシステムの設計によっては、デー
タ群17に属するデータが必ずしも単一のブロック内に
収まっている保証がないので、一般にはデータを含むブ
ロックは連続領域としてデータベース装置4に転送する
必要があるからである。
Next, the operation of this embodiment will be described with reference to the flowchart shown in FIG. When a data selection condition is given from the user to the database system of this embodiment, it is checked whether an index can be used for the selection condition (step 101). If the index can be used, a level 0 entry of the index portion corresponding to the minimum value of the selection condition is searched (step 102) (corresponding to the leftmost entry at level 0 in the entry group 16 in FIG. 5), and (Step 103) (corresponding to the address of the leftmost data in the data group 17 in FIG. 5). A group of entries of level 0 of the index unit 3 is sequentially extracted in ascending order of the key value (step 10).
5) The addresses of the data corresponding to these entries are extracted (step 103). In FIG. 5, this corresponds to examining the entries at level 0 in the entry group 16 one by one from left to right, and extracting the address of the data group 17. At this time, if an entry of level 0 of the index part corresponding to the maximum value of the selection condition is found (step 1)
04), a data block including all of these data is sent from the computer system 1 to the database device 4 from the addresses of all of the extracted data (step 10).
6) End the processing (the order of checking the entry at level 0 may be the descending order of the key value from the maximum value). At this time, for example, the maximum value and the minimum value of the address of a continuous data block group including all data satisfying the conditions are obtained by using an index, and the block group sandwiched by the block having this address is obtained from the computer system 1 in the database. Device 4
In the block group 18 of FIG. 5, the block 19 that does not include data that satisfies the condition is also transferred.
This is because, depending on the design of the database system, there is no guarantee that the data belonging to the data group 17 is always contained in a single block. Therefore, it is generally necessary to transfer the block containing the data to the database device 4 as a continuous area. Because there is.

【0033】以上のように、この実施例によれば、索引
を使えるデータ選択条件をひとつ含むデータベース処理
について、従来技術よりも計算機システムからデータベ
ース装置へ転送するデータ転送量を減らすことによりデ
ータベース処理を高速化する効果がある。
As described above, according to this embodiment, the database processing including one data selection condition that can use an index is reduced by reducing the amount of data to be transferred from the computer system to the database device as compared with the prior art. This has the effect of speeding up.

【0034】実施例2.この実施例のデータベースに、
ユーザから論理演算子で結びつけられた複数の選択条件
が与えられると、この実施例のデータベースは図3のフ
ローチャートに示される選択条件の構造解析をする。こ
の説明をするために、データ選択の条件群の論理構造に
ついて、図6,7を用いて説明する。データ選択の条件
群は、個々のデータの値についての条件、およびこれら
をつなぐ論理演算子よりなりたち、条件群の論理構造解
析とは、これら論理演算子のそれぞれの適用範囲を明ら
かにし、最も外側の論理演算子を取り出すことである。
ここで論理演算子とは、and,or,notで表され
る演算子であるが、最も外側の論理演算子を調べるとき
は、and,orのみを対象とし、notを含む論理式
で表される条件群はド・モルガンの法則を用いて個々の
条件を反転させることで、論理演算子notを論理式か
らあらかじめ取り除くものとする。また、条件群をつな
ぐ「最も外側の論理演算子(最外演算子)」とは、同じ
種類の対等に並んだ論理演算子の適用範囲を括弧でくく
り、その括弧の内容を表す1つのオブジェクト(論理演
算子を含まない単一の条件、または一つの論理演算子で
つながれた条件群)で置き換えて表記していったとき、
最終的に得られる条件式に残る演算子のことである、と
定義する。例えば以下の例で、A〜Fの大文字アルファ
ベット1文字を、それ自身の中に論理演算子を含まない
データの選択条件であるとすると、条件AandBの最
外演算子はandである。条件Aand(BorC)a
ndDの最外演算子もandである。条件((Aor
B)and(CorD))or(EandF)の最外演
算子はorである。
Embodiment 2 FIG. In the database of this embodiment,
When a plurality of selection conditions linked by a logical operator are given by the user, the database of this embodiment performs a structural analysis of the selection conditions shown in the flowchart of FIG. To explain this, the logical structure of a data selection condition group will be described with reference to FIGS. The condition group for data selection consists of conditions on the values of individual data and logical operators connecting them, and the logical structure analysis of the condition group clarifies the scope of each of these logical operators, To extract the outer logical operator.
Here, the logical operator is an operator represented by and, or, not. When examining the outermost logical operator, only the and, or is targeted, and is expressed by a logical expression including not. By inverting individual conditions using de Morgan's law, the logical operator not is previously removed from the logical expression. The “outermost logical operator (outermost operator)” that connects the condition groups is a single object representing the content of the parentheses by enclosing the applicable range of the logical operators of the same type that are arranged in pairs. (A single condition without a logical operator, or a group of conditions connected by a single logical operator)
It is defined as the operator that remains in the finally obtained conditional expression. For example, in the following example, assuming that one uppercase alphabetic character from A to F is a condition for selecting data that does not include a logical operator in itself, the outermost operator of the condition AandB is and. Condition Aand (BorC) a
The outermost operator of ndD is also and. Condition ((Aor
B) The outermost operator of and (CorD)) or (EndF) is or.

【0035】条件群をつなぐ最も外側の論理演算子がa
ndであるか、orであるかに応じて、索引を使える条
件のうちデータ転送量を減らすのに使うものを選ぶ方針
を変更する。即ち、AandBという条件の場合は、条
件A,Bのいずれか一方だけに索引が使えるときでも、
本発明を実施できるが、条件AorBの場合は、条件
A,Bの両方に索引が使えるときのみ本発明の処理を実
行できる。
The outermost logical operator connecting the condition groups is a
The policy for selecting the condition that can be used for reducing the data transfer amount among the conditions that can use the index is changed depending on whether the condition is nd or or. That is, in the case of the condition AandB, even when the index can be used for only one of the conditions A and B,
Although the present invention can be implemented, in the case of the condition A or B, the processing of the present invention can be executed only when the index can be used for both the conditions A and B.

【0036】最も外側の論理演算子がandである場合
の解析を、AandBという条件を満たすデータを選ぶ
処理を例に、図6を用いて説明する。図6において、2
0,21は同一の計算機システムを示すが、説明の便宜
上2つに分けて示してある。22は計算機システム2
0,21にある、条件Aを満たすデータ群、23は条件
Bを満たすデータ群であり、24は条件AandBを満
たすデータ群である。図6に示すように、データ群24
はデータ群22,23のいずれにもその一部として含ま
れているので、条件A,Bのいずれか一方だけについて
索引が使えるときでも、本発明による計算機システム1
からデータベース装置4へのデータ転送量を減らす処理
にこれらの索引を用いることができる。条件、A,Bの
両方に索引が使えるときは、この両方を用いてもデータ
転送量を減らす処理を実行することができる。
The analysis in the case where the outermost logical operator is "and" will be described with reference to FIG. 6 by taking as an example a process of selecting data satisfying the condition "AandB". In FIG. 6, 2
Numerals 0 and 21 indicate the same computer system, but are divided into two for convenience of explanation. 22 is a computer system 2
Data groups satisfying the condition A, 0 and 21 are data groups satisfying the condition B, and 24 is a data group satisfying the condition AandB. As shown in FIG.
Is included as a part of each of the data groups 22 and 23, even if the index can be used for only one of the conditions A and B, the computer system 1 according to the present invention
These indexes can be used in a process of reducing the amount of data transferred from the database device 4 to the database device 4. When an index can be used for both conditions A and B, a process for reducing the data transfer amount can be executed using both of them.

【0037】最も外側の論理演算子がorである場合の
解析を、AorBという条件を満たすデータを選ぶ処理
を例に、図7を用いて説明する。図7において、25,
26はandのときの説明と同様、同一の計算機システ
ムを説明の便宜上2つに分けて示してある。27は計算
機システム25,26にある、条件Aを満たすデータ
群、28は条件Bを満たすデータ群であり、29はAo
rBを満たすデータ群である。図7に示すように、デー
タ群29は計算機システム25,26のいずれにもその
一部として含まれず、条件A,Bの両方を評価して初め
てデータ群29を全て求めることができる。したがっ
て、条件A,Bの両方に索引が使えるときにのみ、本発
明による計算機システムからデータベース装置へのデー
タ転送量を減らす処理を実行することができる。
The analysis in the case where the outermost logical operator is or will be described with reference to FIG. 7 by taking as an example a process of selecting data satisfying the condition of AorB. In FIG. 7, 25,
26, the same computer system is divided into two for convenience of explanation, as in the case of and. 27 is a data group which satisfies the condition A in the computer systems 25 and 26, 28 is a data group which satisfies the condition B, and 29 is Ao
This is a data group satisfying rB. As shown in FIG. 7, the data group 29 is not included as a part of any of the computer systems 25 and 26, and the entire data group 29 can be obtained only after evaluating both the conditions A and B. Therefore, only when an index can be used for both the conditions A and B, the processing for reducing the amount of data transferred from the computer system to the database device according to the present invention can be executed.

【0038】この実施例のデータベースに、ユーザから
複数の選択条件が与えられたときにデータベースが行
う、選択条件の構造解析を示す図3の説明に戻る。ま
ず、与えられた選択条件の中に、索引を使えるものがあ
るかどうかを調べる(ステップ201)。もし索引を使
える選択条件があれば、上で述べたように条件群の論理
構造を解析し、条件群をつなぐ最も外側の論理演算子が
andであるか、orであるかを調べる(ステップ20
2)。
Returning to FIG. 3, which shows the structural analysis of the selection conditions performed by the database when a plurality of selection conditions are given by the user to the database of this embodiment. First, it is checked whether an index can be used among the given selection conditions (step 201). If there is a selection condition for which an index can be used, the logical structure of the condition group is analyzed as described above, and it is checked whether the outermost logical operator connecting the condition group is and or or (step 20).
2).

【0039】ステップ202の解析結果を用いて、ステ
ップ203〜211までの処理で本発明による計算機シ
ステムからデータベース装置へのデータ転送量を減らす
処理に用いる、索引を使える条件を選び出し、これらの
条件を用いて、図4に示す処理で計算機システム1から
データベース装置4へ転送するデータブロックを決め、
実際に転送する。まず、ステップ202の解析の結果、
最も外側の演算子がandであったときは、このand
に直接つながれた、単独で索引の使える条件(それ自身
論理演算子を含まないで、索引を使える条件)があるか
どうか調べる(ステップ203)。もしあれば、全て本
発明による計算機システム1からデータベース装置4へ
のデータ転送量を減らす処理を実行することができるの
で、これら条件の中の任意の一部または全部を、データ
転送量を減らす処理に使用するために選ぶ(ステップ2
04)。このステップ204で、の条件の選び方は、本
発明を用いた個々のデータベースシステム設計の方針に
よる。
Using the results of the analysis in step 202, the conditions in which indexes can be used, which are used in the processing in steps 203 to 211 to reduce the amount of data transferred from the computer system to the database device, are selected. The data blocks to be transferred from the computer system 1 to the database device 4 in the processing shown in FIG.
Actually transfer. First, as a result of the analysis in step 202,
When the outermost operator is and, this and
It is checked whether there is a condition directly usable for the index (a condition that the index can be used without including a logical operator by itself) (step 203). If any, the processing for reducing the amount of data transfer from the computer system 1 to the database device 4 according to the present invention can be executed. Choose to use for (Step 2
04). The method of selecting the condition in step 204 depends on the policy of designing each database system using the present invention.

【0040】また、最も外側のandにつながれた条件
群が全て論理演算子を含む条件、または論理演算子を含
まない索引を使えない条件であるときは、ステップ20
5に進む。最も外側のandにつながれた条件群でそれ
自身論理演算子を含む条件については、図3の条件解析
を再帰的に適用して、本発明によるデータ転送量を減ら
す処理に使える条件群を選べる場合がある(ステップ2
03でYESであっても、ステップ205〜211の処
理を適用することができる)。この再帰的な適用を行う
かどうかは、本発明を用いた個々のデータベースシステ
ム設計の方針による。
If the condition group connected to the outermost and is a condition that includes all logical operators or a condition that cannot use an index that does not include a logical operator, step 20 is executed.
Go to 5. When the condition group connected to the outermost and that includes a logical operator by itself can be selected recursively by applying the condition analysis of FIG. 3 to a condition group that can be used in the process of reducing the data transfer amount according to the present invention. (Step 2
Even if YES in 03, the processing of steps 205 to 211 can be applied). Whether this recursive application is performed depends on the design policy of each database system using the present invention.

【0041】また、ステップ202の解析の結果、最も
外側の演算子がorであったときは、このorに直接つ
ながれた条件群のそれぞれを取り出し(ステップ20
6,207)、これらの全てについて、単独で索引が使
えるかどうか調べる(ステップ208)。
When the outermost operator is or as a result of the analysis in step 202, each of the condition groups directly connected to this or is extracted (step 20).
6, 207), it is checked whether an index can be used alone for all of them (step 208).

【0042】ステップ208で、最も外側のorにつな
がれた条件群のどれか一つでも論理演算子を含む条件、
または論理演算子を含まないが索引を使えない条件があ
ると、本発明を用いて処理を高速化することができない
ので、処理を中止する。ただし、この条件が論理演算子
を含むときは、処理を中止せず、図3の構造解析を再帰
的に適用することにより処理を高速化できる場合があ
る。ステップ208で論理演算子を含む条件を見つけた
ときに、処理を中止するか、構造解析を再帰的に適用す
るかは、本発明を用いて実現した個々のデータベースシ
ステム設計の方針による。
In step 208, a condition including a logical operator in any one of the condition groups connected to the outermost or
Alternatively, if there is a condition that does not include a logical operator but cannot use an index, the processing cannot be accelerated using the present invention, so the processing is stopped. However, when this condition includes a logical operator, the processing may be speeded up by recursively applying the structural analysis of FIG. 3 without stopping the processing. Whether a process is stopped or a structural analysis is applied recursively when a condition including a logical operator is found in step 208 depends on the design policy of each database system implemented using the present invention.

【0043】最も外側の演算子がandで、ステップ2
04で一つ以上の単独で索引を使える条件を選んだと
き、または最も外側の論理演算子がorで、ステップ2
10でこのorにつながれた条件群が全て単独で索引を
使える条件であるとわかったとき、図4で示される、計
算機システムからデータベース装置へ転送するデータブ
ロックを決める処理を実施する。なお、データベース設
計の方針によっては、これらの条件の中に図3の構造解
析を再帰的に適用して索引を使える条件を含んでいても
よい。この処理について説明する。図3の構造解析を用
いて選び出した各条件を取り出し(ステップ301)、
それぞれの条件におけるデータの最小値に対応する索引
部のレベル0のエントリを探し(ステップ302)、こ
のエントリに対応するデータのアドレスを取り出す(ス
テップ303)。索引部のレベル0のエントリを、キー
値の昇順に次々取り出し(ステップ305)、これらの
エントリに対応するデータのアドレスを取り出していく
(ステップ303)。このとき、選択条件の最大値に対
応する索引部のレベル0のエントリを見つけると(ステ
ップ304,305)、とりだした全てのデータのアド
レスより、これらの全てのデータを含むデータブロック
を計算機システムからデータベース装置へ送り(ステッ
プ306)、処理を終了する(条件の個数が1つの場合
と同様、レベル0のエントリを調べる順序は最大値から
順にキー値の降順でもよい)。
The outermost operator is and, step 2
04, when one or more conditions that can use the index alone are selected, or when the outermost logical operator is or,
When it is determined in step 10 that the condition group connected to the or is a condition in which all of the indexes can be used independently, a process of determining a data block to be transferred from the computer system to the database device shown in FIG. 4 is performed. Note that, depending on the database design policy, these conditions may include conditions under which the index can be used by applying the structural analysis of FIG. 3 recursively. This processing will be described. Each condition selected using the structural analysis of FIG. 3 is extracted (step 301),
A search is made for a level 0 entry of the index part corresponding to the minimum value of the data under each condition (step 302), and the address of the data corresponding to this entry is extracted (step 303). The level 0 entries of the index part are sequentially extracted in ascending order of the key value (step 305), and the addresses of data corresponding to these entries are extracted (step 303). At this time, when a level 0 entry of the index portion corresponding to the maximum value of the selection condition is found (steps 304 and 305), a data block including all of these data is read from the computer system based on the addresses of all of the extracted data. The data is sent to the database device (step 306), and the processing is terminated (similar to the case where the number of conditions is one, the order of checking the level 0 entry may be the descending order of the key value from the maximum value).

【0044】以上の処理を行ってそれぞれの条件を満た
すデータ群のアドレスを求めたあとは、条件どうしをつ
なぐ論理演算子を適用して論理演算を行い、実際に計算
機システムからデータベース装置に転送するブロック群
のアドレスを決める(ステップ307)。例えば、デー
タの値についての条件A,Bがあって、条件Aを満たす
データが1番地から1,000番地までのブロックに存
在し、条件Bを満たすデータが100番地から10,0
00番地までのブロックに存在するとき、 ・AandBという選択条件を与えられた場合、100
番地から1,000番地まで、 ・AorBという選択条件を与えられた場合、1番地か
ら10,000番地まで、のデータ部ブロックを転送す
ることになる。各索引についての条件(上の例のA,B
に相当)を満たすデータを含むデータ部ブロックのアド
レスの範囲(Aについての1番地〜1,000番地、B
についての100番地〜10,000番地に相当)を求
めたあとは、各条件をつなぐ論理演算子(ここではan
dまたはor)に基づいて、実際に与えられた条件式の
条件を満たすデータを過不足なく含むデータ部のブロッ
クのアドレスを計算する。この番号は、図5の例ではブ
ロック群18に相当する。
After obtaining the addresses of the data groups satisfying the respective conditions by performing the above processing, a logical operation is performed by applying a logical operator connecting the conditions, and the data is actually transferred from the computer system to the database device. The address of the block group is determined (step 307). For example, there are conditions A and B for data values, data that satisfies condition A is present in blocks from address 1 to address 1,000, and data that satisfies condition B is from address 100 to 10,000.
When it exists in the block up to the address 00, when the selection condition of AandB is given, 100
If a selection condition of AorB is given from the address to the address 1,000, the data part block from the address 1 to the address 10,000 is transferred. Conditions for each index (A, B in the above example)
), The address range of the data block containing the data satisfying the following (addresses 1 to 1,000 for A, B
After obtaining the addresses 100 to 10,000 of the above, a logical operator (here, an
Based on (d or or), the address of the block of the data section that includes data that satisfies the conditions of the actually given conditional expression is calculated. This number corresponds to the block group 18 in the example of FIG.

【0045】なお、図3での条件群の論理構造解析にお
いて、論理構造解析を再帰的に適用した条件について
は、上記のブロック番号を求める論理演算も同様に再帰
的に(条件の中の論理演算子に)適用して、転送するブ
ロック群のアドレスを求める。これらステップ307で
求めたブロックを含むデータブロックを、実際に計算機
システムからデータベース装置に転送して、処理を終了
する。
In the logical structure analysis of the condition group in FIG. 3, for the condition where the logical structure analysis is applied recursively, the above-described logical operation for obtaining the block number is also performed recursively (the logical Operator) to determine the addresses of the blocks to be transferred. The data blocks including the blocks obtained in step 307 are actually transferred from the computer system to the database device, and the process ends.

【0046】以上のように、この実施例によれば、論理
演算子で組み合わされた複数のデータ選択条件を論理構
造解析し、必要な条件の組を選び出して、従来技術より
も計算機システムからデータベース装置へ転送するデー
タ転送量を減らすことによりデータベース処理を高速化
する効果がある。
As described above, according to this embodiment, a plurality of data selection conditions combined by a logical operator are analyzed in a logical structure, a necessary set of conditions is selected, and a database system is selected from the computer system more than in the prior art. There is an effect that database processing is speeded up by reducing the amount of data transferred to the device.

【0047】実施例3.なお、上記実施例1または実施
例2において、処理の途中で、計算機システム1からデ
ータベース装置4に転送するデータを減らす処理を最後
まで実行したとき転送されるデータの数、またはこれら
データを含むデータブロックの数を見積もることができ
る。
Embodiment 3 FIG. In the first or second embodiment, the number of data to be transferred when the process of reducing the data to be transferred from the computer system 1 to the database device 4 is completed until the end of the process, or the data including these data. The number of blocks can be estimated.

【0048】図5のデータベースシステムの索引部にお
いて、ルートブロック14のエントリのうち、「80〜
90のキー値を持つデータ」という選択条件を満たすデ
ータを調べるのに使うエントリは100のキー値を保持
する右端の1つである(一般に、索引部のうちレベル0
以外の各レベルで選択条件を満たすデータを調べるのに
使うエントリは、最小値以上のキー値、最大値より大き
いキー値を持つそれぞれ最初のエントリの間にあるエン
トリである。図5の例では、100のキー値を保持する
同一のエントリがこの2つのキー値を持つ最初のエント
リになっている。なお、エントリがキー値の降順に並ん
でいる場合は、選択条件を満たすデータを調べるのに使
うエントリは、最大値以下のキー値、最小値より小さい
キー値を持つそれぞれ最初のエントリの間にあるエント
リになる。以下の説明では索引でのエントリの並び方は
キー値の昇順とする)。
In the index part of the database system shown in FIG.
The entry used for checking data that satisfies the selection condition of “data having a key value of 90” is one at the right end holding a key value of 100 (generally, level 0 in the index portion).
The entries used to check data satisfying the selection condition at each level other than are the entries between the first entry having a key value equal to or greater than the minimum value and the key value greater than the maximum value. In the example of FIG. 5, the same entry holding the key value of 100 is the first entry having the two key values. If the entries are arranged in descending order of the key value, the entry used to check the data that satisfies the selection condition must be between the first entry with the key value equal to or less than the maximum value and the key value smaller than the minimum value. It becomes an entry. In the following description, the order of the entries in the index is in ascending order of the key value.)

【0049】図5の例に示す索引部3において、エント
リ16に属する各エントリを指すポインタを上位レベル
の方向に(レベル0のブロックからルートブロックの向
きに)たどると、全てルートブロック14の右端にある
エントリに到達することがわかる。
In the index section 3 shown in the example of FIG. 5, when the pointers pointing to the entries belonging to the entry 16 are traced in the direction of the upper level (from the block of level 0 to the direction of the root block), all the right ends of the root block 14 are obtained. To the entry at.

【0050】逆に、索引のルートブロック14のエント
リのうち選択条件を満たすデータを調べるために使われ
るもの(例えば図5におけるルートブロック14の右端
のエントリ)から始めて、これらエントリに含まれる下
位レベルへのポインタをたどり、そのポインタが指すブ
ロックの中にあるエントリに含まれる下位レベルへのポ
インタをたどることを繰り返すと、図5におけるエント
リ16のような、選択条件を満たすデータを調べるため
に使われるエントリ群を全て通る。特に、最終的に到達
するレベル0のエントリ群には、必ず選択条件を満たす
データに対応するエントリが全て含まれている。
Conversely, starting from the entries of the root block 14 of the index that are used to check the data satisfying the selection condition (for example, the rightmost entry of the root block 14 in FIG. 5), the lower level included in these entries By repeatedly tracing the pointer to the lower level contained in the entry in the block pointed to by the pointer to the lower level, data such as entry 16 in FIG. Through all entries that are In particular, the finally reached level 0 entry group always includes all entries corresponding to data satisfying the selection condition.

【0051】このことより、索引部3のルートブロック
14に属す最小値以上のキー値、および最大値より大き
いキー値を持つそれぞれ最初のエントリの間にあるエン
トリ群から、これらの持つ下位レベルへのポインタを順
にたどっていってたどりつけるレベル0のエントリ群の
数を、本発明による処理により転送されるデータの数の
見積り値として用いることができる。
As a result, the entries belonging to the root block 14 of the index unit 3 and having the key value equal to or greater than the minimum value and having the key value greater than the maximum value are respectively located from the first entry group to the lower level. Can be used as an estimated value of the number of data transferred by the processing according to the present invention.

【0052】図5の例において、エントリ16のうちル
ートブロック14に属するものの数から、エントリ16
の中でレベル0に属すエントリ群の数を見積もるわけで
ある。
In the example of FIG. 5, the number of entries 16 belonging to the root block 14
Is used to estimate the number of entry groups belonging to level 0.

【0053】このことより、上記実施例1または2にお
いて、実施例1の図2ではステップ101と102の間
で、実施例2では図3に示された条件の論理構造解析の
あと図4の処理に入る前に、本発明を実施したとき計算
機システムからデータベース装置に転送されるデータの
数を見積もることができる。
Therefore, in the first embodiment or the second embodiment, after the logical structure analysis of the conditions shown in FIG. 3 between the steps 101 and 102 in FIG. Before starting the process, the number of data transferred from the computer system to the database device when the present invention is implemented can be estimated.

【0054】各レベルのエントリは、1レベル下位の1
ブロックと1対1対応している。従って、索引部の1ブ
ロックあたり何エントリ含まれるか、が決まっていれ
ば、ルートブロックに属するエントリのうち選択条件を
満たすキー値を持つデータを調べるのに使うエントリの
個数から、1レベル下位のエントリ数を求めることがで
きる。この個数と、索引の総レベル数を用いることによ
り、上記データ数の見積り値を計算する。
Each level entry is one level lower.
One-to-one correspondence with blocks. Therefore, if it is determined how many entries are included in one block of the index part, one level lower than the number of entries used to check data having a key value satisfying the selection condition among the entries belonging to the root block. The number of entries can be obtained. By using this number and the total number of levels of the index, the estimated value of the number of data is calculated.

【0055】具体的には、索引のルートブロック14に
含まれる、選択条件を満たすデータを調べるために使わ
れるエントリ数に索引の1ブロックに含まれるエントリ
数を乗じた数より、索引のレベル数が2以上の場合はさ
らにこの数を索引の総レベル数から1引いた値の回数だ
け掛け合わせた数により、各条件を満たすデータの見積
もり数を計算する。
More specifically, the number of levels of the index is obtained by multiplying the number of entries included in the root block 14 of the index and used for checking data satisfying the selection condition by the number of entries included in one block of the index. Is greater than or equal to 2, the estimated number of data that satisfies each condition is calculated by multiplying this number by the number of times obtained by subtracting 1 from the total number of index levels.

【0056】即ち、データの見積り数は、数1で求めら
れる。
That is, the estimated number of data can be obtained by Equation 1.

【0057】[0057]

【数1】 (Equation 1)

【0058】図5の例では、索引のルートブロックに含
まれる、選択条件を満たすデータを調べるために使われ
るエントリ数は1、索引の1ブロック当たりのエントリ
数は3、索引のレベル数は3であるので、データの見積
り数は1×33-1 =9(個)になる。
In the example of FIG. 5, the number of entries used for checking data satisfying the selection condition included in the root block of the index is 1, the number of entries per block of the index is 3, and the number of levels of the index is 3 Therefore, the estimated number of data is 1 × 3 3-1 = 9 (pieces).

【0059】データベースシステムでは、データの入出
力の単位はデータブロックであることが多いので、索引
のレベル数が2以上の場合の計算を、索引の総レベル数
から2引いた値の回数だけ掛け合わせる、と改めること
により、各条件を満たすデータを含むデータブロック数
の見積り数を計算することができる。
In a database system, since the unit of data input / output is often a data block, the calculation when the number of index levels is 2 or more is multiplied by the value obtained by subtracting 2 from the total number of index levels. By revising to match, it is possible to calculate the estimated number of data blocks including data satisfying each condition.

【0060】即ち、データブロック数の見積り数は、数
2で求められる。
That is, the estimated number of data blocks can be obtained by Equation 2.

【0061】[0061]

【数2】 (Equation 2)

【0062】図5の例では、索引のレベル数は3である
ので、データブロックの見積り数は1×33-2 =3
(個)になる。
In the example of FIG. 5, since the number of index levels is 3, the estimated number of data blocks is 1 × 3 3−2 = 3.
(Pieces).

【0063】また、一般のデータベースシステムでは、
データの削除・更新が行われ、それに伴って索引部のエ
ントリも削除・更新されるので、索引部の1ブロックに
含まれるエントリ数は一定しない。こういう場合は、例
えば索引部の1ブロックに含まれるエントリ数の最初期
値で、一般の場合に索引部の1ブロックに含まれるエン
トリ数として代用できる。
In a general database system,
Since data is deleted / updated and the entries in the index part are also deleted / updated accordingly, the number of entries included in one block of the index part is not constant. In such a case, for example, the initial value of the number of entries included in one block of the index part can be used as the number of entries included in one block of the index part in a general case.

【0064】以上のように、この実施例によれば、デー
タの選択条件と索引のルートブロックの内容をもとに、
本発明を実現する処理の初期段階で、本処理により計算
機システムからデータベース装置に転送されるデータ量
を見積り、高速化の効果を予測する効果がある。
As described above, according to this embodiment, based on the data selection conditions and the contents of the root block of the index,
In the initial stage of processing for realizing the present invention, there is an effect that the amount of data transferred from the computer system to the database device by this processing is estimated, and the effect of speeding up is predicted.

【0065】実施例4.なお、上記実施例3において、
ルートブロックに属するエントリ数の代わりに、ルート
ブロックより1レベル下位の索引部のエントリのうち選
択条件の最小値以上のキー値、および最大値よりキー値
を持つそれぞれ最初のエントリの間にあるエントリ群の
数を用い、索引部の総レベル数の代わりに、索引部の総
レベル数より2を減じた値を用いて、より正確にデータ
数を見積もることができる。
Embodiment 4 FIG. In the third embodiment,
Instead of the number of entries belonging to the root block, the entries between the first entry having a key value equal to or more than the minimum value of the selection condition and the key value exceeding the maximum value among the entries in the index part one level lower than the root block The number of data can be estimated more accurately by using the number of groups and using a value obtained by subtracting 2 from the total number of levels of the index part instead of the total number of levels of the index part.

【0066】即ち、この場合の見積り数は、数3で求め
られる。
That is, the estimated number in this case is obtained by Expression 3.

【0067】[0067]

【数3】 (Equation 3)

【0068】図5の例では、索引のルートブロックより
1つ下位のレベルに含まれる、選択条件を満たすデータ
を調べるために使われるエントリ数は3、索引の1ブロ
ック当たりのエントリ数は3、索引のレベル数は3であ
るので、データの見積り数は3×33-2 =9(個)にな
る。この例では16のエントリ群のうち索引のルートブ
ロックより1つ下位のレベルに属するものが同一ブロッ
クの中に収まっているので、データ数の見積り値は、実
施例3におけるルートブロックより下位のレベルのエン
トリ数を(ブロック数)×(ブロック1個あたりエント
リ数)で近似する場合と変わらない。しかし、一般に
は、選択条件の最小値以上のキー値、および最大値より
大きいキー値を持つそれぞれ最初のエントリはブロック
の端にくるとは限らないので、ルートブロックより下位
のレベルのエントリ数は(ブロック数)×(ブロック1
個あたりエントリ数)より小さくなる。特に、索引ブロ
ック1個当たりのエントリ数が多くなった場合などは、
ルートブロックより1レベル下位になっただけで選択条
件を満たすエントリ数がかなり減る可能性があるので、
見積り値は実施例3の場合より正確になる。
In the example of FIG. 5, the number of entries used to check data satisfying the selection condition included in the level one level lower than the root block of the index is 3, the number of entries per block of the index is 3, Since the number of index levels is 3, the estimated number of data is 3 × 3 3-2 = 9 (pieces). In this example, among the 16 entry groups, those belonging to the level one level lower than the root block of the index are included in the same block, so the estimated value of the number of data is the level lower than the root block in the third embodiment. Is the same as the case where the number of entries is approximated by (the number of blocks) × (the number of entries per block). However, in general, the first entry having a key value equal to or greater than the minimum value of the selection condition and a key value greater than the maximum value are not necessarily at the end of the block. (Number of blocks) x (block 1
(The number of entries per piece). In particular, when the number of entries per index block increases,
Since there is a possibility that the number of entries satisfying the selection condition can be considerably reduced just by being one level lower than the root block,
The estimated value is more accurate than in the third embodiment.

【0069】以上のように、この実施例によれば、上記
実施例3におけるルートブロックの内容の代わりに、ル
ートブロックより1レベル下位の索引部のエントリの内
容を用いることにより、計算機システムからデータベー
ス装置に転送されるデータ数を実施例3より正確に見積
もる効果がある。
As described above, according to this embodiment, the contents of the entry of the index part one level lower than the root block are used in place of the contents of the root block in the third embodiment, so that the computer system can convert the database. There is an effect that the number of data transferred to the device is more accurately estimated than in the third embodiment.

【0070】実施例5.なお、上記実施例4において、
索引のレベル数が2以上で索引部の各ブロックが一定個
のエントリ毎に副ブロック(またはまとまり、セクショ
ン)に分かれているとき、選び出した各条件に対応する
索引のルートブロックより1レベル下のエントリで、選
択条件を満たすデータを調べるために使われる先頭エン
トリを持つ副ブロックの数を求め、この数に索引中の副
ブロック1個に含まれるエントリ数を乗じた数により、
索引のレベル数が3以上のときはさらにこの数に、索引
の1ブロックに含まれるエントリ数を索引のレベル数よ
り2を減じた数と回数だけ掛け合わせた数を乗じた数に
より、各条件を満たすデータの数を見積もることができ
る。見積り値は実施例4の方が本実施例より正確である
が、見積りを計算する負荷は本実施例の方が実施例4よ
り小さい。
Embodiment 5 FIG. In the fourth embodiment,
When the number of levels of the index is two or more and each block of the index part is divided into sub-blocks (or groups and sections) for every fixed number of entries, one level below the root block of the index corresponding to each selected condition In the entry, the number of sub-blocks having the head entry used for checking data satisfying the selection condition is obtained, and the number is multiplied by the number of entries included in one sub-block in the index, thereby obtaining:
When the number of index levels is 3 or more, each condition is further multiplied by the number obtained by multiplying the number of entries contained in one block of the index by 2 times the number of entries in the index and the number of times. The number of data that satisfies can be estimated. The estimated value is more accurate in the fourth embodiment than in the present embodiment, but the load for calculating the estimate is smaller in the present embodiment than in the fourth embodiment.

【0071】即ち、データの見積り数は、数4で求めら
れる。
That is, the estimated number of data can be obtained by Expression 4.

【0072】[0072]

【数4】 (Equation 4)

【0073】以上のように、この実施例によれば、索引
のレベル数が2以上で索引部の各ブロックが一定個のエ
ントリごとに副ブロック(またはまとまり、セクショ
ン)に分かれているとき、上記実施例3におけるルート
ブロックの内容の代わりに、索引のルート部より1階層
下のブロックに含まれる副ブロックの内容を用いて、計
算機システムからデータベース装置に転送されるデータ
数を実施例3より正確に、かつ実施例4より計算負荷が
小さく見積もる効果がある。
As described above, according to this embodiment, when the number of index levels is two or more and each block of the index part is divided into sub-blocks (or groups and sections) for every fixed number of entries, Instead of the contents of the root block in the third embodiment, the number of data transferred from the computer system to the database device is more accurate than in the third embodiment, using the contents of the sub-blocks included in the block one layer below the root of the index. In addition, there is an effect that the calculation load is estimated to be smaller than that of the fourth embodiment.

【0074】実施例6.なお、上記実施例3または4ま
たは5の見積り値を使って、実施例1または2の途中
で、実施例1または2における入出力命令の実行時間を
予測し、従来処理での入出力命令の実行時間と比較し
て、本発明を適用したデータベースシステム処理の実現
にかかる計算が高速化の効果を打ち消すことが予測され
る場合は処理を中止することができる(正確には、処理
を中止するかどうかの判断は本実施例の処理および従来
処理における入出力命令の実行時間の比が分かればよ
い)。
Embodiment 6 FIG. The execution time of the input / output instruction in the first or second embodiment is predicted in the middle of the first or second embodiment using the estimated value of the third, fourth, or fifth embodiment. If the calculation for realizing the database system processing to which the present invention is applied is expected to negate the effect of the acceleration compared to the execution time, the processing can be stopped (exactly, the processing is stopped) It is only necessary to determine the ratio of the execution time of the input / output instruction in the processing of the present embodiment and the conventional processing.

【0075】実施例1または2の処理のうち最も計算機
システムの計算パワーを必要とするのは、索引部のレベ
ル0のエントリのうち選択条件を満たすキー値を持つエ
ントリを調べ、転送するデータのアドレスを取り出すた
めの索引ブロック入出力命令である。これら入出力命令
の実行にかかる時間は、レベル0のエントリとデータと
の1対1対応の関係のために、転送するデータの数に比
例する。実施例1または2における転送するデータの数
は、上記実施例3または4または5においてデータの選
択条件ごとにその見積り値が求められている。従って、
この見積り値の総和は転送するデータを取り出すための
索引部のレベル0のエントリに対する入出力命令の実行
回数の予測値になる。
The processing power of the computer system which requires the most computing power in the processing of the first or second embodiment is that an entry having a key value which satisfies the selection condition among the entries of the level 0 of the index section is examined, and This is an index block input / output instruction for extracting an address. The time required to execute these input / output instructions is proportional to the number of data to be transferred because of the one-to-one correspondence between level 0 entries and data. The estimated value of the number of data to be transferred in the first or second embodiment is obtained for each data selection condition in the third, fourth, or fifth embodiment. Therefore,
The sum of the estimated values is a predicted value of the number of executions of the input / output instruction for the level 0 entry of the index unit for extracting the data to be transferred.

【0076】この予測値と、従来処理で転送されていた
全データの数(見積り値は各条件ののべ数なので、全デ
ータ数を上回ることがあり得る)との比を求めれば、実
施例1または2の処理自体に必要な計算時間と従来処理
に必要な時間の比を求めることになり、これにより前者
が後者を上回り、本発明によるデータベース処理の高速
化の効果を打ち消すことが予測されるときは、処理を中
止することができる。
If the ratio between the predicted value and the total number of data transferred in the conventional processing (the estimated value is the total number of each condition, it can exceed the total number of data), then the embodiment The ratio of the calculation time required for the processing 1 or 2 itself to the time required for the conventional processing is calculated, whereby the former is expected to exceed the latter, and it is expected that the effect of speeding up the database processing according to the present invention will be negated. If it does, the process can be stopped.

【0077】また、通常計算機システムの入出力は、エ
ントリやデータの単位でなくブロック単位で行われるの
で、上で述べた索引部のエントリを上記実施例3または
4または5で述べたように索引部のブロックに置き換
え、また全データの数をデータ部の全ブロック数に置き
換えて、それぞれの入出力処理にかかる時間を予測し、
高速化の効果を打ち消すかどうかの判断に用いることが
できる。
Further, since the input / output of the normal computer system is performed not in units of entries or data but in units of blocks, the above-mentioned entries in the index section are indexed as described in the third, fourth or fifth embodiment. , And replace the number of all data with the total number of blocks in the data section, predict the time required for each input / output processing,
This can be used to determine whether to cancel the effect of speeding up.

【0078】なお、計算機システムの設計によっては通
常のブロック単位の入出力とは別に、大量データを一括
して入出力する専用の命令を備えていることがある。こ
のような場合、実施例1または2と従来処理とで使う入
出力命令が異なる可能性がある。
Note that, depending on the design of the computer system, a dedicated instruction for collectively inputting / outputting a large amount of data may be provided in addition to the usual input / output in block units. In such a case, the input / output instructions used in the first or second embodiment and the conventional processing may be different.

【0079】このときは、実施例1または2における索
引部のエントリ数と、従来処理における転送するデータ
数の比に、さらにそれぞれの入出力命令の実行時間の比
を乗じて、実施例1または2の処理自体の計算時間と、
従来処理の計算時間の比を求める。
At this time, the ratio of the number of entries in the index unit in the first or second embodiment to the number of data to be transferred in the conventional processing is multiplied by the ratio of the execution time of each input / output instruction, thereby obtaining the first or second embodiment. The calculation time of the processing itself of 2,
The ratio of the calculation time of the conventional processing is obtained.

【0080】本実施例は、実施例1の動作を示す図2に
おいては、ステップ101の処理が終わった段階で、ス
テップ102〜105の繰り返し処理の部分の計算時間
を予測することで実現する。図5の例では、図5の中の
データ部2の中の全データを転送する処理(従来処理)
と、エントリ16に属する索引部のレベル0のエントリ
を入力する処理(本発明の実施例1の処理)での入出力
命令の実行時間の比をそれぞれ求め、処理を中止するか
どうかの判断をする。
In FIG. 2 showing the operation of the first embodiment, this embodiment is realized by estimating the calculation time of the part of the repetition processing of steps 102 to 105 at the stage when the processing of step 101 is completed. In the example of FIG. 5, processing for transferring all data in the data section 2 in FIG. 5 (conventional processing)
And the execution time ratio of the input / output instruction in the process of inputting the level 0 entry of the index unit belonging to the entry 16 (the process of the first embodiment of the present invention), and determine whether or not to suspend the process. I do.

【0081】また、実施例2においては図3の処理が終
わった段階で、図4のステップ302〜306の繰り返
し処理の部分の計算時間を予測することで実現する。ま
ず、実施例2における図3で示される条件群論理構造解
析により選ばれた各条件について、それぞれの条件を満
たすデータの数を見積もった値を計算する。次に、これ
ら見積り値の総和を求め、実施例2と従来処理でのそれ
ぞれの入出力命令の実行時間の比を計算し、処理を中止
するかどうかの判断をする。
Further, in the second embodiment, at the stage where the processing of FIG. 3 is completed, the calculation is performed by estimating the calculation time of the part of the repetition processing of steps 302 to 306 of FIG. First, for each condition selected by the condition group logical structure analysis shown in FIG. 3 in the second embodiment, a value that estimates the number of data that satisfies each condition is calculated. Next, the sum of these estimated values is obtained, the ratio of the execution time of each input / output instruction in the second embodiment and the conventional processing is calculated, and it is determined whether or not to stop the processing.

【0082】本実施例によりデータ転送量を減らす処理
を中止した後は、例えば、従来方法のとおり計算機シス
テムからデータベース装置へ全データを転送する処理に
切り替えて、データベース処理を続行することができ
る。
After the processing for reducing the data transfer amount is stopped according to the present embodiment, the processing can be switched to the processing for transferring all data from the computer system to the database device as in the conventional method, and the database processing can be continued.

【0083】以上のように、この実施例によれば、上記
実施例3または4または5の見積り値を使って、実施例
1または2における入出力命令の実行時間を予測し、転
送するデータの取り出しにかかる計算時間が本発明によ
るデータベース処理高速化の効果を打ち消すことが予測
される場合は処理を中止する効果がある。
As described above, according to this embodiment, the execution time of the input / output instruction in the first or second embodiment is predicted using the estimated value of the third, fourth, or fifth embodiment, and If the calculation time required for retrieval is expected to negate the effect of the high-speed database processing according to the present invention, there is an effect of stopping the processing.

【0084】実施例7.なお、上記実施例6において、
転送するデータのアドレスを取り出すために索引部のエ
ントリ、または索引部のブロックを入出力する入出力命
令の実行時間を見積もったが、実施例1または2におい
て索引部のエントリ、またはブロックを読み込む処理を
実行する際、この見積り値を実際に入出力命令を発行す
るごとに更新し、転送するデータの取り出しにかかる計
算時間が本発明によるデータベース処理高速化の効果を
打ち消す前に処理を中止することができる。これは、実
施例1の動作を示す図2におけるステップ102〜10
5のループの部分、または実施例2における図4のステ
ップ302〜306のループの部分を実行中、それまで
の処理に費やした時間と残りの処理に必要な時間の合計
が従来処理にかかる時間を上回ることがわかった時点
で、処理を中止することによって実現する。
Embodiment 7 FIG. Note that, in the sixth embodiment,
The execution time of an input / output instruction for inputting / outputting an entry of the index unit or a block of the index unit in order to extract the address of the data to be transferred was estimated. Is executed, the estimated value is updated each time an I / O instruction is actually issued, and the calculation time required to retrieve the data to be transferred is stopped before the effect of the database processing acceleration according to the present invention is negated. Can be. This corresponds to steps 102 to 10 in FIG. 2 showing the operation of the first embodiment.
5 or the loop of steps 302 to 306 in FIG. 4 in the second embodiment, the sum of the time spent for the processing up to that time and the time required for the remaining processing is the time required for the conventional processing. This is realized by stopping the processing when it is found that the number exceeds the threshold.

【0085】実施例6で求めた入出力命令を実行する時
間の予測値は、索引を使ってデータ量を減らすために選
んだ条件それぞれについての入出力命令を実行する時間
の予測値の総和、またはそれらに論理演算を施したもの
として求めている。このため、実施例2の操作を示す図
4のステップ302〜306のループの部分について
は、条件を一つ取り出して索引を調べる処理を行うごと
に、実施例6で求めた、その条件を満たすデータの入出
力時間の予測値を、実際にかかった入出力時間に置き換
えることで計算できる。実施例1については、実施例2
で条件が一つである場合として実現できる。
The predicted value of the execution time of the input / output instruction obtained in the sixth embodiment is the sum of the predicted values of the execution time of the input / output instruction for each condition selected to reduce the data amount using the index, Or, they are required to have been subjected to logical operations. Therefore, as for the loop portion of steps 302 to 306 in FIG. 4 showing the operation of the second embodiment, each time a condition is extracted and the index is checked, the condition obtained in the sixth embodiment is satisfied. It can be calculated by replacing the predicted value of the data input / output time with the actual input / output time. Example 1 is described in Example 2
And the condition can be realized as one.

【0086】以上のように、この実施例によれば、実施
例3または4または5を適用して求めたデータ転送量の
見積り値を、実際に入出力命令を発行するごとに更新
し、転送するデータの取り出しにかかる計算時間が本発
明によるデータベース処理高速化の効果を打ち消す前に
処理を中止する効果がある。
As described above, according to this embodiment, the estimated value of the data transfer amount obtained by applying the third, fourth, or fifth embodiment is updated every time an I / O instruction is actually issued. There is an effect that the processing is stopped before the calculation time required to retrieve the data to be processed cancels out the effect of accelerating the database processing according to the present invention.

【0087】実施例8.図3のステップ202における
最外演算子の条件判定に必要な条件群の論理構造解析、
および最外演算子の選び方の実施例について説明する。
この説明に必要な、論理演算子、条件子、条件式とその
冗長性について定義する。論理演算子とは、and,o
r,notで表される演算子であるが、最も外側の論理
演算子を調べるときは、and,orのみを対象とし、
notを含む論理式で表される条件群はド・モルガンの
法則を用いて個々の条件を反転させることで、論理演算
子notを論理式からあらかじめ取り除くものとする。
また、条件子とは、演算子を含まない条件であるとし、
条件オブジェクトとは、条件子、または論理演算子およ
びその論理演算子でつながれた条件子群、または論理演
算子およびその論理演算子でつながれた条件オブジェク
ト群、であるとする。(以下の例では、A〜Fの大文字
アルファベット1文字を、条件子であるとする)本実施
例では、データの選択条件は、条件子と論理演算子が組
み合わされた条件式の形でデータベースシステムに与え
られるものとする。なお、選択条件は、条件子どうしの
論理的関係(どの論理演算子でつながれているかの関
係)が判別できれば、式の形でまとまって与えられる必
要はない。例えば条件子一つ一つを別々に入力し、論理
構造を後から入力するような方式でも構わない。
Embodiment 8 FIG. 3. A logical structure analysis of a group of conditions necessary for determining the condition of the outermost operator in step 202 of FIG.
An example of how to select the outermost operator will be described.
Define the logical operators, conditionals, conditional expressions and their redundancy necessary for this explanation. The logical operators are and, o
Although the operator is represented by r and not, when examining the outermost logical operator, only and and or are targeted.
A condition group represented by a logical expression including not is to be removed in advance from the logical expression by inverting each condition using De Morgan's law.
A conditioner is a condition that does not include an operator.
A condition object is a condition element, a group of condition elements connected by a logical operator and the logical operator, or a group of condition objects connected by the logical operator and the logical operator. (In the following example, it is assumed that one letter of an uppercase alphabet from A to F is a conditioner.) In this embodiment, the data selection condition is a database in the form of a conditional expression in which a conditioner and a logical operator are combined. Shall be given to the system. Note that the selection condition need not be given in the form of an expression as long as the logical relationship between the conditioners (the relationship between the logical operators) can be determined. For example, a method may be used in which each condition element is separately input and the logical structure is input later.

【0088】一つの条件子に対して種類の異なる演算子
が対等に(括弧で優先度の指定がない場合)記述されて
いる場合は、andがorよりも優先的に作用するもの
とする。なお、データベースシステムの実現方針によっ
ては逆の場合もあるが、その場合は以下のandとor
についての説明を逆に適用すればよい。例えば、Aan
dBorCは(AandB)orCとして解釈される。
Aand(BorCandD)はAand(Bor(C
andD))として解釈される(Aand(BorC)
andDなどとはならない)。
When different types of operators are described on an equal basis (when the priority is not specified in parentheses) for one conditioner, it is assumed that and acts more preferentially than or. The reverse may occur depending on the realization policy of the database system. In that case, the following and and or
May be applied in reverse. For example, Aan
dBorC is interpreted as (AandB) orC.
Aand (BorCandD) is Aand (Bor (C
andD)) (Aand (BorC)
andD etc.).

【0089】また、条件式における冗長な括弧とは、括
弧の中と外で作用している論理演算子が同じ種類のもの
である場合をいう。例えば、Aand(BandC)の
括弧は冗長である。
Redundant parentheses in conditional expressions refer to cases where logical operators acting inside and outside parentheses are of the same type. For example, the parentheses of Aand (BandC) are redundant.

【0090】最外演算子を取り出し、さらに索引の使え
る条件で転送するデータ数を減らすのに使えるものを選
び出すには、(AandB)andCのような冗長で括
弧を取り除く必要がある。また、式AandBorCに
おけるBのように一つの条件子(または括弧で挟まれた
論理オブジェクト)に対し種類の異なる論理演算子が対
等に記述されている場合、論理演算子の適用範囲を明ら
かにする必要がある。このため、条件群の論理構造解析
が必要である。
In order to take out the outermost operator and to select one that can be used to reduce the number of data to be transferred under the condition that the index can be used, it is necessary to remove parentheses with redundancy like (AandB) andC. Also, when logical operators of different types are described equally for one conditional element (or a logical object enclosed in parentheses) as in B in the expression AandBorC, the applicable range of the logical operator is clarified. There is a need. Therefore, a logical structure analysis of the condition group is required.

【0091】図3のステップ202における最外演算子
の条件判定に必要な条件式の論理構造解析、および最外
演算子の選び方は、例えば以下のような方法を用いて実
現することができる。
The logical structure analysis of the conditional expression necessary for the condition determination of the outermost operator in step 202 of FIG. 3 and the method of selecting the outermost operator can be realized by using, for example, the following method.

【0092】まず、スタックを用意し、式中に論理演算
子が現れたらスタックに積む。論理演算子の適用範囲が
終了したら(括弧の終わり、または括弧のないandの
直後の条件オブジェクト、または条件式の終端記号)、
スタックから先頭要素を取り出す。
First, a stack is prepared, and when a logical operator appears in an expression, the logical operator is put on the stack. When the scope of a logical operator ends (the end of parentheses, or a conditional object immediately following an unparenthesized and, or a terminator of a conditional expression),
Pops the top element off the stack.

【0093】スタックの各要素は実際に論理演算子およ
びその論理演算子の適用される条件オブジェクトのリス
トよりなる(論理演算子の適用される条件オブジェクト
が特定できれば、必ずしもリストである必要はない)。
Each element of the stack is actually composed of a list of logical operators and condition objects to which the logical operators are applied (if the condition objects to which the logical operators are applied can be specified, they are not necessarily lists). .

【0094】このとき、スタックに残っている要素のう
ち先頭にある演算子が、取り出された要素と同じ種類の
演算子である場合は、スタックに残っている演算子の適
用範囲に、取り出された演算子の適用範囲を融合する。
これにより、冗長な括弧を取り除くことができる。
At this time, if the operator at the top of the elements remaining on the stack is of the same type as the fetched element, the fetched operator is included in the scope of the operator remaining on the stack. Fused operators are applied.
Thereby, redundant parentheses can be removed.

【0095】また、AorBandCという条件式を解
析する場合、Aの次のorを見ただけでは、Bがorに
直接つながるかどうか確定しない。このため、条件子ま
たは論理演算子または論理演算子の適用範囲の区切り子
(開き括弧”(”または閉じ括弧”(”)または条件式
の終端記号(表記は省略)を2つ一組にして論理構造解
析の1単位とし、場合分けをして処理を行い、条件式の
先頭から順に解析の単位要素を取り出していく。
Further, when analyzing the conditional expression AorBandC, it is not determined whether B is directly connected to or only by looking at or next to A. For this reason, the conditioner or the logical operator or the delimiter of the scope of the logical operator (open parenthesis "(" or close parenthesis "(") or the terminal symbol of the conditional expression (notation omitted) One unit of the logical structure analysis is performed, and the processing is performed in different cases, and the unit elements of the analysis are sequentially extracted from the head of the conditional expression.

【0096】上述のAorBandCの解析の場合は、
Aとor、orとB、Bとand、andとCをそれぞ
れ解析の1単位要素として、条件式の先頭から順に各単
位要素ごとに場合分けして処理を決め、解析を進めてい
く。
In the case of the AorBandC analysis described above,
With A and or, or and B, B and and, and and C as one unit element of the analysis, processing is determined for each unit element in order from the top of the conditional expression, and the analysis is advanced.

【0097】すなわち、この実施例における条件式の論
理構造解析は、解析の単位要素である条件式の要素の2
つ組、およびスタック、およびスタックに積まれた各論
理演算子の適用範囲リスト、の3つの情報をもとに実行
され、その実行動作は解析の単位要素である条件式の要
素の2つ組によって場合分けされる。
That is, the logical structure analysis of the conditional expression in this embodiment is based on two of the elements of the conditional expression, which are the unit elements of the analysis.
The execution is performed based on three pieces of information: a tuple, a stack, and a scope list of each logical operator stacked on the stack. The execution operation is a two-tuple of a conditional expression element that is a unit element of the analysis. Is divided into cases.

【0098】以上の処理を繰り返して、条件式の終端記
号まで解析すると、必ず全ての論理演算子の適用範囲が
終了するので、スタックにはただ1つの要素が残る。こ
のスタックに残った要素の論理演算子が、この条件式の
最外演算子である。
When the above processing is repeated to analyze even the terminal symbol of the conditional expression, since the application range of all logical operators is always terminated, only one element remains on the stack. The logical operator of the elements remaining on this stack is the outermost operator of this conditional expression.

【0099】なお、単位要素の種類による解析動作の場
合分けは、具体的には以下の項目に挙げるようになる。
Note that the classification of the analysis operation according to the type of the unit element is specifically described in the following items.

【0100】単位要素が条件子およびandの場合、ス
タックの先頭要素がandでなかったら、andをスタ
ックに積む。この条件子はこのandの適用範囲に含ま
れるので、このandの適用範囲リストに、この条件子
を入れる。スタックの先頭要素がandだったら、スタ
ックに積まれている方のandの適用範囲リストに、こ
の条件子を入れる。
When the unit element is a conditional element and and, if the top element of the stack is not and, the and is stacked on the stack. Since this conditional element is included in the application scope of this and, this conditional element is put in the application scope list of this and. If the top element of the stack is "and", this conditional element is put in the applicable list of the "and" on the stack.

【0101】単位要素が条件子およびorの場合、スタ
ックの先頭要素がorでなかったら、orをスタックに
積む。この条件子が、orより前にスタックに積まれた
演算子の適用範囲リストに入れられていなかったら、こ
のorの適用範囲リストに、この条件子を入れる。この
条件子がorより前の演算子の適用範囲リストに既に入
れられていたらそれ以上何もしない。スタックの先頭要
素がorだったら、条件子はこのスタックにあるorの
適用範囲リストに入れられる(新たにorをスタックに
積むことはしない)。
When the unit element is a conditional element or or, if the top element of the stack is not or, the or is stacked on the stack. If this conditioner has not been included in the scope list of the operator stacked on the stack before or, this conditioner is included in the scope list of this or. If this conditional is already in the scope list of the operator before or, do nothing more. If the top element of the stack is or, the conditioner is placed in the scope list of or on this stack (does not push a new or on the stack).

【0102】単位要素が条件子および閉じ括
弧(”)”)の場合、スタックの先頭要素の適用範囲リ
ストに条件子を入れる。
When the unit element is a conditional element and a closing parenthesis (")"), the conditional element is put in the applicable range list of the top element of the stack.

【0103】単位要素が閉じ括弧(”)”)およびan
dの場合、まずスタックから先頭要素を取り出す。スタ
ックに残っている要素の先頭の演算子がandで、かつ
スタックから取り出した要素の論理演算子がandであ
ったら、スタックより取り出した要素とスタックに残っ
ている要素の適用範囲リストを融合させたものを、スタ
ックに残っている方の要素の新しい適用範囲リストとす
る。スタックに残っている要素の先頭の演算子がand
で、かつスタックから取り出した要素の論理演算子がo
rであったら、スタックに残っている要素の適用範囲リ
ストに、スタックより取り出した演算子の適用範囲リス
トを条件オブジェクトとして付け加える(条件オブジェ
クトは、条件群から冗長性を取り除いたあとの、括弧で
区切られた部分に対応する)。スタックに残っている要
素の先頭の演算子がorであったら、解析の単位要素中
のandをスタックに積む。このとき、スタックから取
り出した要素の演算子がandであったら、このand
の適用リストを、新たにスタックに積んだandの適用
範囲リストとする。あるいは、スタックから取り出した
要素の演算子がorであったら、スタックに残っている
要素の適用範囲リストに、取り出した演算子の適用範囲
リストを条件オブジェクトとして付け加える。スタック
に要素が残っていなかったら、解析の単位要素の中にあ
るandをスタックに積む。このとき、スタックから取
り出した要素の演算子がandであったら、このand
の適用範囲リストを、新たにスタックに積んだandの
適用範囲リストとする。あるいは、スタックから取り出
した要素の演算子がorであったら、新たにスタックに
積んだandの適用範囲リストに、取り出した演算子の
適用範囲リストを条件オブジェクトとして付け加える。
The unit element is a closing parenthesis (")") and an
In the case of d, the top element is first fetched from the stack. If the first operator of the elements remaining on the stack is and and the logical operator of the elements fetched from the stack is and, the scope of the elements fetched from the stack and the elements remaining on the stack are merged. Is the new scope list for the remaining element on the stack. The first operator of the elements remaining on the stack is and
And the logical operator of the element taken out of the stack is o
If it is r, add the scope list of the operator taken out of the stack as a condition object to the scope list of the remaining elements on the stack (the condition object is expressed by parentheses after removing redundancy from the condition group). Corresponding to the separated parts). If the first operator of the elements remaining on the stack is or, the and in the analysis unit element is pushed onto the stack. At this time, if the operator of the element taken out of the stack is and, this and
Is an application range list of and newly loaded on the stack. Alternatively, if the operator of the element taken out of the stack is or, the scope list of the taken out operator is added as a condition object to the scope list of the elements remaining in the stack. If there are no remaining elements on the stack, the and in the analysis unit element is pushed onto the stack. At this time, if the operator of the element taken out of the stack is and, this and
Is an application range list of and newly loaded on the stack. Alternatively, if the operator of the element taken out of the stack is or, the application range list of the taken out operator is added as a condition object to the application range list of and newly loaded on the stack.

【0104】単位要素が閉じ括弧(”)”)およびor
の場合、まず、スタックから先頭要素を取り出す。スタ
ックに残っている要素の先頭の演算子がandで、かつ
スタックから取り出した要素の論理演算子がandであ
ったら、スタックより取り出した要素と、スタックに残
っている先頭要素の適用範囲リストを融合させ、スタッ
クに残っている方のandの新しい適用範囲リストとす
る(この処理は冗長な括弧を取り除くことに相当す
る)。さらに、続けてスタックから要素を取り出し、ス
タックに解析の単位要素の中にあるorを積む。新たに
スタックから取り出した要素(2つのandについて融
合された適用範囲リストを持つもの)は、このorの適
用範囲リストの条件オブジェクトとして付け加える。ま
た、スタックに残っている要素の先頭の演算子がand
で、かつスタックから取り出した要素の論理演算子がo
rであったら、スタックに残っている要素の適用範囲リ
ストに、スタックから取り出した演算子の適用範囲リス
トを条件オブジェクトとして付け加える。さらに、続け
てスタックから要素を取り出し、スタックに新たにor
を積む。新たにスタックから取り出した要素(andを
含む要素の適用範囲リストにorを含む条件オブジェク
トを付け加えた要素)は、新たにスタックに積むorの
適用範囲リストの中の条件オブジェクトとして付け加え
る。また、スタックに残っている要素の先頭の演算子が
orであり、かつスタックより取り出した要素の演算子
がandであったら、このスタックから取り出したan
dの適用範囲リストを、スタックの先頭要素であるor
の条件オブジェクトとして付け加える(新たにorをス
タックに積むことはしない)。また、スタックに残って
いる要素の先頭の演算子がorであり、かつ取り出した
要素の演算子がorであったら、スタックに残っている
先頭要素の新しい適用範囲リストに、取り出した演算子
の適用範囲リストを融合させ、残っている要素の新しい
適用範囲リストとする。スタックに要素が残っていなか
ったら、解析の単位要素の中にあるorをスタックに積
む。このとき、スタックから取り出した要素の演算子が
orであったら、このorの適用範囲リストを、新たに
スタックに積んだorの適用範囲リストとする。あるい
は、スタックから取り出した要素の演算子がandであ
ったら、新たにスタックに積んだorの適用範囲リスト
に、取り出した演算子の適用範囲リストを条件オブジェ
クトとして付け加える。
The unit element is a closing parenthesis (")") and or
In the case of, first, the top element is taken out of the stack. If the head operator of the element remaining on the stack is and and the logical operator of the element fetched from the stack is and, the element fetched from the stack and the scope list of the head element remaining on the stack are added. Merge into a new coverage list of the remaining and on the stack (this process is equivalent to removing redundant parentheses). Further, the element is successively taken out of the stack, and the or in the unit element of the analysis is loaded on the stack. An element newly extracted from the stack (having a scope list fused for two and's) is added as a condition object of the scope list of this or. Also, the first operator of the elements remaining on the stack is and
And the logical operator of the element taken out of the stack is o
If r, the scope list of the operator extracted from the stack is added as a condition object to the scope list of the elements remaining on the stack. Further, elements are successively taken out of the stack, and a new or
Stack. An element newly extracted from the stack (an element obtained by adding a condition object including “or” to an application range list of an element including “and”) is added as a condition object in the application range list of “or” to be newly stacked on the stack. If the first operator of the elements remaining on the stack is or and the operator of the element fetched from the stack is and,
The scope list of d is set to or which is the top element of the stack.
(Or is not newly placed on the stack). Also, if the first operator of the element remaining on the stack is or and the operator of the fetched element is or, the new applicable scope list of the first element remaining on the stack will be Fuse the scope list into a new scope list for the remaining elements. If there are no remaining elements on the stack, the or in the unit element of the analysis is pushed onto the stack. At this time, if the operator of the element taken out of the stack is or, the scope list of this or is set as the scope list of or newly loaded on the stack. Alternatively, if the operator of the element taken out of the stack is "and", the application range list of the taken out operator is added as a condition object to the application range list of "or" newly loaded on the stack.

【0105】単位要素が条件子および条件式の終端記号
の場合、まずスタックの先頭要素の適用範囲リストに、
条件子を入れる。そして、上述の条件子および論理演算
子の適用範囲の終わりを示す区切り子の場合の処理を、
スタックに積まれている要素が1つになるまで繰り返
し、解析を終了する。
When the unit element is a conditional symbol or a terminal symbol of a conditional expression, first, the applicable range list of the top element of the stack is
Insert a conditional. Then, the processing in the case of the delimiter indicating the end of the application range of the above-described conditional element and the logical operator,
The analysis is repeated until there is only one element on the stack.

【0106】単位要素がandおよび条件子の場合、a
ndは既にスタックに積まれているか、冗長性の検査で
取り除かれるかしている。条件子は、条件式の中で次に
くる要素によりどの演算子の適用範囲に入るかが決まる
ので、ここではスタックおよびスタックに積まれた各要
素に変更は加えない。
When the unit element is and and a condition element, a
nd is either already on the stack or removed by a redundancy check. Since the next element in the conditional expression determines which operator applies to the conditional element, the stack and each element on the stack are not changed here.

【0107】単位要素がorおよび条件子の場合、or
は既にスタックに積まれているか、冗長性の検査で取り
除かれるかしている。条件子は、条件式の中で次にくる
要素によりどの演算子の適用範囲に入るかが決まるの
で、ここではスタックおよびスタックに積まれた各要素
に変更は加えない。
When the unit element is or and a conditional element, or
Is already on the stack or is removed by a redundancy check. Since the next element in the conditional expression determines which operator applies to the conditional element, the stack and each element on the stack are not changed here.

【0108】単位要素がandおよび開き括
弧(”(”)の場合、ここではスタックおよびスタック
に積まれた各要素に変更は加えない。ただし、開き括弧
の後現れる最初の論理演算子は、必ずスタックに積む
(冗長性の検査である、スタックの先頭要素との比較は
この場合省略される。冗長性の判定はこの開き括弧に対
応する閉じ括弧、または条件群の終わりの記号が取り出
されたときに行う。これは、括弧内の論理演算子の適用
範囲を明らかにした後に冗長性の判定を行うためであ
る)。
If the unit element is and and open parenthesis ("("), no change is made here to the stack and each element stacked on the stack. However, the first logical operator appearing after the open parenthesis is always Push onto the stack (redundancy check, comparison with the top element of the stack is omitted in this case. Redundancy is determined by removing the closing parenthesis corresponding to this open parenthesis, or the symbol at the end of the condition group) This is done to determine the scope of the logical operator in parentheses and then determine the redundancy).

【0109】単位要素がorおよび開き括弧(”(”)
の場合、上述のandおよび開き括弧の場合と同じく、
ここではスタックおよびスタックに積まれた各要素に変
更は加えない。ただし、括弧の後に現れる最初の論理演
算子は、必ずスタックに積む。
If the unit element is or and an open parenthesis ("(")
Is the same as for and and open parenthesis above.
Here, the stack and each element on the stack are not changed. However, the first logical operator that appears after parentheses always pushes onto the stack.

【0110】単位要素が開き括弧(”(”)および条件
子の場合、上述のandおよび開き括弧の場合と同じ
く、ここではスタックおよびスタックに積まれた各要素
に変更は加えない。ただし、開き括弧の後現れる最初の
論理演算子は、必ずスタックに積む。
When the unit element is an open parenthesis ("(") and a conditional element, as in the case of the above and and open parenthesis, no change is made here to the stack and each element stacked on the stack. The first logical operator that appears after parentheses always pushes onto the stack.

【0111】単位要素が2つの閉じ括弧(”)”)であ
る場合、まずスタックから先頭要素を取り出す。そし
て、スタックに残っている要素の先頭の演算子がand
で、かつスタックから取り出した要素の論理演算子がa
ndであるか、両者ともorであったら、スタックから
取り出した要素と、スタックに残っている先頭要素の適
用範囲リストを融合させ、スタックに残っている方の演
算子の新しい適用範囲リストとする。また、スタックに
残っている要素の先頭の演算子がandで、かつスタッ
クから取り出した要素の論理演算子がorであるか、両
者が逆であったら、スタックに残っている要素の適用範
囲リストに、スタックから取り出した演算子の適用範囲
リストを条件オブジェクトとして付け加える。
If the unit element is two closing parentheses (")"), the top element is first taken out of the stack. And the first operator of the elements remaining on the stack is and
And the logical operator of the element taken out of the stack is a
If nd or both are or, the element taken from the stack and the scope list of the first element remaining on the stack are merged into a new scope list for the operator remaining on the stack. . If the first operator of the elements remaining on the stack is and and the logical operator of the element taken out of the stack is or, or the two are reversed, the applicable range list of the elements remaining on the stack Is added as a condition object with the scope list of the operator extracted from the stack.

【0112】単位要素が閉じ括弧および条件式の終端記
号である場合、段落番号111の処理を、スタック中に
1つの要素が残るまで繰り返す。
If the unit element is a closing parenthesis and a terminal symbol of a conditional expression, the processing of paragraph number 111 is repeated until one element remains in the stack.

【0113】単位要素が2つの開き括弧(”(”)であ
る場合、スタックおよびスタックに積まれた各要素に変
更は加えない。続いて現れる最初の論理演算子は、開き
括弧が一つの場合と同様必ずスタックに積まれる。
If the unit element is two open parentheses ("("), no change is made to the stack and each element on the stack. It is always put on the stack like.

【0114】上記段落番号100〜113以外の組合せ
が条件式中に現れた場合は、構文エラーとなる。例え
ば、条件式中には条件子または論理演算子が2個続けて
あってはならない。また、開き括弧と閉じ括弧は1対1
に対応していなければならない。
If a combination other than the above paragraph numbers 100 to 113 appears in the conditional expression, a syntax error occurs. For example, a conditional expression must not have two consecutive conditionals or logical operators. Open parenthesis and closing parenthesis are one-to-one.
Must be supported.

【0115】前記段落番号100〜114の場合分けに
よる解析の方法を用いてAorBandCという条件式
の解析が実行される例について説明する。まずAとor
という単位要素が取り出され、段落番号101によりo
rがスタックに積まれる。Aはまだどの適用範囲リスト
にも入っていないので、このorの適用範囲リストの先
頭にAを入れる。
An example in which the analysis of the conditional expression AorBandC is executed by using the analysis method based on the case of the paragraph numbers 100 to 114 will be described. First A and or
Is taken out, and according to paragraph number 101, o
r is pushed onto the stack. Since A is not yet included in any applicable scope list, A is put at the head of this applicable scope list.

【0116】次に、orとBという単位要素が取り出さ
れる。段落番号107によりスタックおよびスタックに
積まれた各要素には変更が加えられず、解析の次の単位
要素である、Bとandが続いて取り出される。
Next, unit elements or and B are extracted. No change is made to the stack and each element stacked on the stack according to the paragraph number 107, and B and and, which are the next unit elements of the analysis, are subsequently extracted.

【0117】このとき、スタックの先頭要素はorであ
るので、段落番号100により単位要素中のandがス
タックに積まれる。また、このandの適用範囲を表す
リストの先頭にBが入れられる。
At this time, since the top element of the stack is or, the and in the unit element is stacked on the stack according to paragraph number 100. In addition, B is put at the head of the list indicating the application range of this and.

【0118】続いて、andとCの組が取り出される。
段落番号106によりスタックとスタックに積まれた各
要素は変更されず(この時点ではCがこのandの直接
適用される範囲に入るかどうか特定できないので)、解
析の次の単位要素が取り出される。
Subsequently, a pair of and and C is extracted.
Paragraph number 106 keeps the stack and each element on the stack unchanged (since it is not possible at this point to determine whether C falls within the directly applicable range of this and) and retrieves the next unit element of the analysis.

【0119】次に取り出される単位要素は、Cと「条件
式の終端記号」(記述は省略されている)である。段落
番号105によりスタックの要素を上から順に取り出
し、スタックの下の要素である論理演算子の適用範囲と
融合するか、条件オブジェクトとしてスタックの下の要
素である論理演算子の適用範囲にスタックの上の要素を
入れるかしていく。
The next unit element to be extracted is C and "the terminal symbol of the conditional expression" (the description is omitted). The elements of the stack are taken out from the top according to the paragraph number 105 and merged with the scope of the logical operator which is the element under the stack, or as the condition object, the scope of the logical operator which is the element under the stack is added as the condition object. I will put in the elements above.

【0120】この例では、この時点でスタックには上か
ら順にand(適用範囲リストにはBが入っている)、
or(適用範囲リストにはAが入っている)が積まれて
いる。
In this example, at this time, the stack is and and from the top in order (B is included in the applicable range list),
or (A is included in the applicable range list).

【0121】まず、スタックからandが取り出され
る。そして、スタックに残っている先頭(上)の要素で
あるorと比べられ、演算子の種類が異なるので、スタ
ックで上にあったandの適用範囲リストが、orの適
用範囲に条件オブジェクトとして入れられる。
First, "and" is taken out of the stack. Then, since the type of the operator is different from that of or which is the first (upper) element remaining on the stack, the application range list of and which was on the stack is put as a condition object in the application range of or. Can be

【0122】スタックにはこのorだけが残っているの
で、解析は終了する。このorがこの条件式の最外演算
子である。
Since only this or remains in the stack, the analysis ends. This or is the outermost operator of this conditional expression.

【0123】次に、冗長性を含んだ表現である、Aan
dBand(CandD)の解析について述べる。まず
Aおよびandが取り出され、段落番号100によりス
タックにandが積まれる。そしてこのandの適用範
囲リストにAが入れられる。
Next, Aan, which is an expression including redundancy,
The analysis of dBand (CandD) will be described. First, A and and are taken out, and and is stacked on the stack by paragraph number 100. Then, A is put into the applicable range list of this and.

【0124】続いて、andとBの組が取り出される
が、段落番号100によりスタックは変更されず、直ち
に次の単位要素であるBとandが取り出される。段落
番号106によりこの新たに取り出されたandはスタ
ックの先頭要素と比較される。
Subsequently, a pair of and and B is extracted. However, the stack is not changed by the paragraph number 100, and the next unit elements B and and are immediately extracted. The newly fetched and according to paragraph number 106 is compared with the top element of the stack.

【0125】この場合、新たに取り出されたandはス
タックの先頭要素と同じ種類の演算子なので、新たにス
タックに積むことはせず、スタックに既に積まれている
andの適用範囲リストにBが入れられる(適用範囲リ
ストにはA,Bが入っていることになる)。
In this case, since the newly fetched and is the same type of operator as the top element of the stack, the newly fetched and is not stacked on the stack, and B is added to the application scope list of and already stacked on the stack. (A and B will be included in the coverage list).

【0126】次にandと開き括弧が取り出される。こ
のandと開き括弧の組については段落番号108によ
りスタックには変更が加えられず、解析の次の単位要素
である開き括弧とCの組が取り出される。
Next, and and open parenthesis are taken out. Regarding this pair of and and open parenthesis, no change is made to the stack according to paragraph number 108, and the pair of open parenthesis and C, which is the next unit element in the analysis, is extracted.

【0127】これについても段落番号110によりスタ
ックは変更されず次の単位要素であるCとandの組が
取り出される。
Also in this case, the stack is not changed by the paragraph number 110, and the next set of the unit element C and and is taken out.

【0128】ここで、andはスタックの先頭要素と同
じ種類の演算子であるが、段落番号110により開き括
弧の直後に現れる論理演算子は必ずスタックに積まれる
ので、このandはスタックに積まれ、Cはこのand
の適用範囲リストに入れられる。この時点で、スタック
には上から順にand(適用範囲リストにはC)、an
d(適用範囲リストにはA,B)が積まれている。
Here, and is an operator of the same type as the top element of the stack, but since the logical operator appearing immediately after the opening parenthesis according to paragraph number 110 is always loaded on the stack, this and is loaded on the stack. , C is this and
In the scope list. At this point, and (and C in the applicable range list), an
d (A, B in the applicable range list) is stacked.

【0129】続いてandとDの組が取り出される。段
落番号106によりスタックは変更されない。
Subsequently, a pair of and and D is extracted. The stack is not changed by the paragraph number 106.

【0130】続いてDと閉じ括弧が取り出される。段落
番号102によりDがスタックの先頭要素であるand
の適用範囲リストに入れられる。この時点で、スタック
には上から順にand(適用範囲リストにはC,D)、
and(適用範囲リストにはA,B)が積まれている。
Subsequently, D and a closing parenthesis are extracted. According to paragraph 102, D is the top element of the stack and
In the scope list. At this point, and (from top to bottom, C and D in the coverage list),
and (A and B in the applicable range list) are stacked.

【0131】最後に閉じ括弧と「条件式の終端記号」が
取り出される。段落番号112により、まずスタックの
先頭要素であるandが取り出される。このとき、この
取り出されたandはスタックに残っている先頭要素
(条件中最初に現れたand)と同じ種類の論理演算子
であるので、この両者の適用範囲リストが融合され、こ
の適用範囲リスト(A,B,C,Dが入っている)が、
スタックに残っている要素であるandの新しい適用範
囲リストになる。
Finally, the closing parenthesis and the "terminal symbol of the conditional expression" are extracted. According to the paragraph number 112, first, "and", which is the top element of the stack, is extracted. At this time, since the fetched and is a logical operator of the same type as the first element remaining in the stack (and which first appears in the condition), the applicable scope lists of both are merged, and (A, B, C and D are included)
It becomes a new scope list for the remaining elements on the stack, and.

【0132】ここで解析の単位要素の中に「条件式の終
端記号」があるので解析は終了し、最後に残った1番目
のandが最も外側の演算子であることがわかる。
Here, since there is a “terminal symbol of the conditional expression” in the unit element of the analysis, the analysis is completed, and it is found that the last remaining “and” is the outermost operator.

【0133】以上の説明のように、段落番号92〜11
4で述べた解析を実行することにより、条件群の最外演
算子、および条件群の論理構造から冗長性を取り除いた
ものについての情報を取り出すことができる。ここで、
索引を使える条件を満たすデータを選び出す作業そのも
のに計算時間をかけ過ぎると、この計算時間が転送する
データを減らして節約した時間を帳消しにし、高速化の
効果がなくなるおそれがある。これを避けるために、複
雑な処理を必要とする索引つきの条件を、転送するデー
タを減らすために使う必要があるときは処理を中止する
ことができる。
As described above, paragraph numbers 92 to 11
By executing the analysis described in 4 above, it is possible to extract information about the outermost operator of the condition group and information obtained by removing redundancy from the logical structure of the condition group. here,
If it takes too much calculation time to select data that satisfies the condition that can use the index, the calculation time may be reduced by transferring less data, canceling the saved time, and the effect of speeding up may be lost. In order to avoid this, when an indexed condition requiring complicated processing needs to be used to reduce the data to be transferred, the processing can be stopped.

【0134】ある条件子についての論理構造の複雑さ
を、条件子に作用を及ぼす論理演算子の数として定義す
る。これは、条件群の論理構造を表す条件式を冗長性を
持たないように変形したときの、条件子のある部分につ
いての括弧の重なりの深さに1を加えたものに対応す
る。例えば、AandBにおいてAもBも論理構造の複
雑さは1である。Aand(BorC)においてAの論
理構造の複雑さは1、BとCの論理構造の複雑さは2で
ある。Aand(BandC)は論理的な冗長性を取り
除くとAandBandCとなるので、A,B,Cとも
論理構造の複雑さは1である。Aand((Band
C)orD)において、Aの論理構造の複雑さは1、D
の論理構造の複雑さは2、BとCの論理構造の複雑さは
3である。
The complexity of the logical structure for a given conditional is defined as the number of logical operators acting on the conditional. This corresponds to a value obtained by adding 1 to the overlapping depth of parentheses for a certain part of a conditional expression when the conditional expression representing the logical structure of the condition group is modified so as not to have redundancy. For example, in AandB, the complexity of the logical structure of both A and B is 1. In Aand (BorC), the complexity of the logical structure of A is 1, and the complexity of the logical structure of B and C is 2. Aand (BandC) becomes AandBandC when logical redundancy is removed, so that the complexity of the logical structure is 1 for A, B, and C. Aand ((Band
C) orD), the complexity of the logical structure of A is 1, D
The complexity of the logical structure of B is 2 and the complexity of the logical structure of B and C is 3.

【0135】これにより、例えば最外演算子がandの
とき、転送するデータを求めるのに、論理構造の複雑さ
が4以上の条件子を計算する必要があるときや、最外演
算子がorのときで論理構造の複雑さが3以上の条件子
を計算する必要があるときなどは、複雑な論理計算をし
て本発明によるデータベース処理の高速化の効果を打ち
消す前に処理を中止することができる。どの程度の論理
構造の複雑さをもつ条件子を計算する必要があるとき処
理を中止するかは、本発明を用いたデータベースシステ
ムの設計方針による。
Thus, for example, when the outermost operator is “and”, it is necessary to calculate a conditioner having a logical structure having a complexity of 4 or more in order to determine the data to be transferred. When it is necessary to calculate a conditioner having a logical structure with a complexity of 3 or more in the case of (1), stop the processing before performing the complicated logical calculation and canceling out the effect of increasing the speed of the database processing according to the present invention. Can be. The degree of complexity of the logical structure when it is necessary to calculate a conditional element to stop processing depends on the design policy of the database system using the present invention.

【0136】処理を中止した後は、例えば従来処理同
様、計算機システムからデータベース装置へ全データを
転送する処理に切り替えることができる。
After the processing is stopped, the processing can be switched to the processing for transferring all data from the computer system to the database device, as in the conventional processing.

【0137】なお、ここでは論理構造解析にスタックを
用いたが、木構造を用いて条件式の構文木を生成しても
同等の処理を行うことができる。また、上記の条件式と
同等の記述力があれば、条件群の記法が上の方法である
必要はない。
Although the stack is used for the logical structure analysis here, the same processing can be performed by generating a syntax tree of a conditional expression using a tree structure. In addition, the notation of the condition group does not need to be the above method as long as it has the same descriptive power as the above conditional expression.

【0138】以上のように、この実施例によれば、条件
群の最外演算子、および条件群の論理構造から冗長性を
取り除いたものについての情報を取り出し、また本処理
に索引つきの条件を利用するときの処理の複雑さを調べ
る論理構造解析を実現し、転送するデータを減らすため
に複雑過ぎる処理を行う必要があるときは処理を中止す
る効果がある。
As described above, according to this embodiment, information on the outermost operator of the condition group and the information obtained by removing the redundancy from the logical structure of the condition group is extracted, and the indexed condition is added to this processing. A logical structure analysis for examining the complexity of the processing at the time of use is realized, and when it is necessary to perform processing that is too complicated to reduce the data to be transferred, the processing is stopped.

【0139】実施例9.なお、上記実施例1または2に
おいて、計算機システムのデータ部における各データブ
ロックが、ブロック中のデータのキー値の最大値、最小
値を知る付加情報(ブロックのヘッダ部分、など)を備
えていれば、上記実施例1または2に簡単な処理を追加
するだけで、実際に計算機システムからデータベース装
置に転送されるデータブロックの数を減らすことができ
る。
Embodiment 9 FIG. In the first or second embodiment, each data block in the data section of the computer system is provided with additional information (a header portion of the block, etc.) for knowing the maximum value and the minimum value of the key value of the data in the block. For example, the number of data blocks actually transferred from the computer system to the database device can be reduced by simply adding a simple process to the first or second embodiment.

【0140】上記実施例1または2において、図5の例
では、ブロック19はデータベース装置4に転送するべ
きデータ群17を一つも含まないにもかかわらず、選択
条件を満たすデータを含む連続するブロック領域に含ま
れているために、計算機システム1からデータベース装
置4に転送されていた。しかし、各データブロックに、
そのブロック中のデータのキー値の最大値・最小値を知
る付加情報があれば、18に属する各ブロックの付加情
報を調べるだけで、ブロック19がデータ群17を一つ
も含まない(データ群17に属するデータがブロックか
らはみ出し、一部分がブロック19に含まれていること
もない)ことが保証される。従って、ブロック群18の
中の全データを調べることなく、ブロック19をデータ
ベース装置4に転送するのを省略することができる。
In the first or second embodiment, in the example shown in FIG. 5, although the block 19 does not include any data group 17 to be transferred to the database device 4, it is a continuous block including data satisfying the selection condition. Since it was included in the area, it was transferred from the computer system 1 to the database device 4. However, for each data block,
If there is additional information for knowing the maximum and minimum key values of the data in the block, the additional information of each block belonging to 18 is checked, and the block 19 does not include any data group 17 (data group 17). Is out of the block, and a part thereof is not included in the block 19). Therefore, the transfer of the block 19 to the database device 4 can be omitted without checking all the data in the block group 18.

【0141】以上のように、この実施例によれば、上記
実施例1または2において、計算機システムのデータ部
における各データブロックが、ブロック中のデータのキ
ー値の最大値、最小値を知る付加情報(ブロックのヘッ
ダ部分、など)を備えていれば、上記実施例1または2
に簡単な処理を追加するだけで、実際に計算機システム
からデータベース装置に転送するデータブロックの数を
減らす効果がある。
As described above, according to this embodiment, in each of the first and second embodiments, each data block in the data section of the computer system has an additional function of knowing the maximum and minimum key values of the data in the block. If information (a header portion of a block, etc.) is provided, the first or second embodiment is used.
By simply adding simple processing to the above, there is an effect of reducing the number of data blocks actually transferred from the computer system to the database device.

【0142】実施例10.なお、上記実施例1または2
において、索引部3のレベル0に属す各ブロックが、そ
のブロック内に保持しているデータブロックアドレス
(データブロックへのポインタ)の最大値、最小値を含
む付加情報(索引ブロックのヘッダ部分、など)を備え
ているとき、上記実施例1または2に簡単な処理を追加
するだけで、実際に計算機システムからデータベース装
置に転送されるデータブロックの数を減らすことができ
る。
Embodiment 10 FIG. Note that, in the first or second embodiment,
, Each block belonging to level 0 of the index unit 3 has additional information (header part of the index block, etc.) including the maximum value and the minimum value of the data block address (pointer to the data block) held in the block. ), The number of data blocks actually transferred from the computer system to the database device can be reduced by simply adding simple processing to the first or second embodiment.

【0143】上記実施例1または2において、図5の例
では、索引部3の付加情報を使えば、データブロックの
アドレスを取り出す時点で、ブロック19がデータ群1
7を一つも含まない(データ群17に属するデータがブ
ロックからはみ出し、一部分がブロック19に含まれて
いることもない)とが保証される。従って、ブロック群
18の中の全データを調べることなく、ブロック19を
データベース装置4に転送するのを省略することができ
る。
In the first or second embodiment, in the example shown in FIG. 5, if the additional information of the index unit 3 is used, the block 19 becomes the data group 1 at the time of extracting the address of the data block.
7 is not included (the data belonging to the data group 17 protrudes from the block, and a part thereof is not included in the block 19). Therefore, the transfer of the block 19 to the database device 4 can be omitted without checking all the data in the block group 18.

【0144】以上のように、この実施例によれば、上記
実施例1または2において、索引部3のレベル0に属す
各ブロックが、そのブロック内に保持しているデータブ
ロックアドレス(データブロックへのポインタ)の最大
値、最小値を含む付加情報(索引ブロックのヘッダ部
分、など)を備えているとき、上記実施例1または2に
簡単な処理を追加するだけで、実際に計算機システムか
らデータベース装置に転送するデータブロックの数を減
らす効果がある。
As described above, according to this embodiment, in each of the first and second embodiments, each block belonging to the level 0 of the index unit 3 has the data block address (data block address) stored in the block. ), The additional information (the header part of the index block, etc.) including the maximum value and the minimum value of the pointers is simply added to the first or second embodiment, and the database is actually transferred from the computer system to the database. This has the effect of reducing the number of data blocks transferred to the device.

【0145】[0145]

【発明の効果】1のデータ転送方法は、計算機システ
ムとデータベース装置を接続装置でつないだデータベー
スシステムにおいて、データ選択条件を含むデータベー
ス処理が与えられた場合、該データ選択条件について索
引が使えるか判断し、使える場合は前記計算機システム
にある前記データ選択条件を満たす全てのデータを含む
データブロック群を前記索引を使って求め、該データブ
ロック群を前記計算機システムからデータベース装置へ
転送する構成にしたので、従来処理におけるデータ全部
をデータベース装置へ転送する場合よりデータ転送量を
減らしてデータベース処理を高速に実行することができ
る。
According to the first data transfer method, in a database system in which a computer system and a database device are connected by a connection device, if a database process including a data selection condition is given, an index can be used for the data selection condition. Judgment, when usable, a data block group including all data satisfying the data selection condition in the computer system is obtained using the index, and the data block group is transferred from the computer system to the database device. Therefore, the data transfer amount can be reduced and the database processing can be executed at a higher speed than in the case where all the data in the conventional processing is transferred to the database device.

【0146】2のデータ転送方法は、計算機システム
とデータベース装置を接続装置でつないだデータベース
システムにおいて、選択条件を満たすデータを調べるた
めに使われる索引のルートブロックのエントリの数を求
め、この数に前記索引の1ブロックに含まれるエントリ
数を索引のレベル数から1を引いた回数だけ掛け合わせ
た数により前記選択条件を満たすデータの数を見積もる
構成にしたので、高速化処理の初期段階で、計算機シス
テムからデータベース装置に転送されるデータ量を見積
り、高速化の効果を予測できる。
[0146] The second data transfer Okukata method, in a computer system and database system by connecting the database apparatus in connection device, determine the number of entries in the root block of the index used to determine the selection criteria data, Since this number is multiplied by the number of entries included in one block of the index by the number obtained by subtracting 1 from the number of levels in the index, the number of data satisfying the selection condition is estimated. At this stage, the amount of data transferred from the computer system to the database device can be estimated, and the effect of speeding up can be predicted.

【0147】3のデータ転送方法は、計算機システム
とデータベース装置を接続装置でつないだデータベース
システムにおいて、選択条件を満たすデータを調べるた
めに使われる索引のルートブロックより1レベル下のエ
ントリの数を求め、この数に前記索引の1ブロックに含
まれるエントリ数を索引のレベル数から2を引いた回数
だけ掛け合わせた数により前記選択条件を満たすデータ
の数を見積もる構成にしたので、計算機システムからデ
ータベース装置に転送されるデータ量をより正確に見積
もることができる。
[0147] The third data transfer Okukata method, computer in the system and the connected database system database device connection device, a 1 under the level of entry than the root block of the index used to determine the selection criteria data The number of entries satisfying the selection condition is estimated by multiplying the number by the number of entries included in one block of the index by the number obtained by subtracting 2 from the number of levels of the index. The amount of data transferred from the system to the database device can be more accurately estimated.

【0148】4のデータ転送方法は、計算機システム
とデータベース装置を接続装置でつないだデータベース
システムにおいて、索引のルートブロックより1レベル
下に含まれる選択条件を満たすデータを調べるために使
われる先頭エントリを有する副ブロックの数を求め、こ
の数に前記副ブロック1個に含まれるエントリ数を乗
じ、さらにこの数に前記索引の1ブロックに含まれるエ
ントリ数を前記索引のレベル数から2を引いた回数だけ
掛け合わせた数により前記選択条件を満たすデータの数
を見積もる構成にしたので、計算機システムからデータ
ベース装置に転送されるデータ数をより正確に、かつ計
算負荷が小さく見積もることができる。
[0148] The fourth data transfer Okukata method, in a computer system and the connected database system database device connection device, is used to examine the selection criteria data included in one level below the root block of the index The number of sub-blocks having the head entry is obtained, this number is multiplied by the number of entries included in one sub-block, and the number is further reduced by 2 from the number of levels in the index. Since the number of data that satisfies the selection condition is estimated by multiplying the number of subtractions, the number of data transferred from the computer system to the database device can be estimated more accurately and the calculation load can be estimated to be small.

【0149】5のデータ転送方法は、第1のデータ転
送方法において、2または3または第4のデータ転
送方法により選択条件を満たすデータの数を見積り、こ
のデータのアドレスを取り出して計算機システムからデ
ータベース装置へ転送するデータを決める処理に必要な
索引部のレベル0のブロックの入出力時間を予測し、全
てのデータを前記計算機システムからデータベース装置
へ転送する処理に必要な入出力命令の実行時間と比較し
て、前者が後者より長い場合は高速化の処理を中止する
構成にしたので、データベース処理の高速化の効果が薄
いと予測される場合は処理を中止することができる。
[0149] The fifth method of data transfer in the first data transfer method, the second or third or fourth data transfer
It estimates the number of selected data that satisfies the Okukata method predicts the output time of the block of level 0 of the index portion required for the processing to determine the data to be transferred to the address of the data from the computer system retrieves the database device In comparison with the execution time of the input / output command required for the process of transferring all data from the computer system to the database device, if the former is longer than the latter, the process of accelerating is stopped, so that the database processing is performed. If the effect of speeding up is predicted to be small, the processing can be stopped.

【0150】6のデータ転送方法は、第1のデータ転
送方法において、計算機システムにある索引つきの選び
出した条件を満たす全てのデータを含むデータブロック
群の位置を索引を使って求める処理の途中で、この処理
で索引を読み込むのに使った入出力命令の回数を求めて
第5のデータ転送方法の予測値を更新し、全てのデータ
を前記計算機システムからデータベース装置へ転送する
処理に必要な入出力命令の実行時間と比較して、前者が
後者より長い場合は高速化の処理を中止する構成にした
ので、転送するデータの取り出しにかかる計算時間がデ
ータベース処理高速化の効果を打ち消す前に処理を中止
することができる。
[0150] The sixth method of data transfer in the first data transfer method, the position of the data block group containing all the data satisfy the conditions were selected for indexed in a computer system using the index obtaining process in the middle The number of I / O instructions used to read the index in this process
The predicted value of the fifth data transfer method is updated, and compared with the execution time of the input / output instruction required for the process of transferring all data from the computer system to the database device, if the former is longer than the latter, the speed is increased. , The calculation time required to retrieve the data to be transferred can be stopped before the effect of the high-speed database processing is negated.

【0151】7のデータ転送方法は、計算機システム
とデータベース装置を接続装置でつないだデータベース
システムにおいて、論理演算子(and,or,no
t)で結び付けられたデータ選択条件を含むデータベー
ス処理が与えられた場合、前記条件について索引が使え
るならば、前記データ選択条件のうち前記論理演算子、
または該論理演算子の適用範囲の区切り子、または前記
論理演算子を含まない条件子、または条件群の終端記号
を1単位要素として、前記データ選択条件の中の連続す
る2単位要素の組み合わせの並び方を分類した情報をも
とに、前記論理演算子の適用範囲を明らかにし、データ
転送量を減らすために一定個以上の前記論理演算子から
作用を受ける条件群を計算する必要のある条件群につい
ては処理を中止する構成にしたので、転送するデータを
減らすために複雑過ぎる処理を行う必要があるときは処
理を中止することができる。
The seventh data transfer method uses a logical operator (and, or, no) in a database system in which a computer system and a database device are connected by a connection device.
Given a database processing that includes the data selection conditions linked in t), if an index is available for the conditions, then the logical operator of the data selection conditions
Or a combination of two consecutive unit elements in the data selection condition, with a separator of the applicable range of the logical operator, a conditioner not including the logical operator, or a terminal symbol of the condition group as one unit element. A condition group that needs to calculate a condition group affected by at least a certain number of the logical operators in order to clarify the applicable range of the logical operator based on the classified information and reduce the data transfer amount. Is configured to stop the processing, so that when it is necessary to perform too complicated processing to reduce the data to be transferred, the processing can be stopped.

【0152】8のデータ転送方法は、計算機システム
とデータベース装置を接続装置でつないだデータベース
システムにおいて、論理演算子で結び付けられたデータ
選択条件を含むデータベース処理が与えられた場合、前
記条件について索引が使えるならば、前記データ選択条
件のうち索引のついているものを組み合わせ、与えられ
た全てのデータの選択条件を満たすデータを全部含むよ
うな条件の組を選び出し、前記計算機システムにある索
引つきの選び出した条件を満たす全てのデータを含む連
続するデータブロック群のアドレスの最大値と最小値を
索引を使って求め、このアドレスを持つブロックに挟ま
れるブロック群を前記計算機システムからデータベース
装置へ転送する構成にしたので、データ転送量を減らし
てデータベース処理を高速に実行することができる。
[0152] data transfer method of the eighth, the computer system and the connected database system database device connection device, if the database processing including tied data selection condition by logical operators are given for the condition index Can be used, the indexed ones of the data selection conditions are combined, and a set of conditions that includes all the data that satisfies the given selection conditions of all data is selected, and an indexed selection in the computer system is selected. The maximum value and the minimum value of the address of a continuous data block group including all data satisfying the above conditions are obtained by using an index, and the block group sandwiched by the blocks having this address is transferred from the computer system to the database device. Database processing by reducing the amount of data transferred. The can be executed at high speed.

【0153】9のデータ転送方法は、計算機システム
とデータベース装置を接続装置でつないだデータベース
システムにおいて、論理演算子で結び付けられたデータ
選択条件を含むデータベース処理が与えられた場合、前
記条件について索引が使えるならば、前記データ選択条
件のうち索引のついているものを組み合わせ、与えられ
た全てのデータの選択条件を満たすデータを全部含むよ
うな条件の組を選び出し、前記計算機システムにあるブ
ロック中のデータのキー値の最大値、最小値を知る付加
情報を備えたデータブロックについて、索引つきの選び
出した条件を満たす全てのデータを含む全てのデータブ
ロックを索引と前記付加情報を使って求め、このデータ
ブロック群を前記計算機システムからデータベース装置
へ転送する構成にしたので、計算機システムからデータ
ベース装置に転送するデータブロックの数を減らすこと
ができる。
[0153] ninth method of data transfer in a computer system and the connected database system database device connection device, if the database processing including tied data selection condition by logical operators are given for the condition index Can be used, the indexed ones of the data selection conditions are combined, and a set of conditions including all data satisfying the selection conditions of all given data is selected, and a block in the block in the computer system is selected. With respect to a data block having additional information for knowing the maximum value and the minimum value of the key value of the data, all data blocks including all data satisfying the selected condition with an index are obtained using the index and the additional information. In a configuration in which blocks are transferred from the computer system to the database device Since, it is possible to reduce the number of data blocks to be transferred from the computer system to the database device.

【0154】[0154]

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

【図1】 この発明の実施例1であるデータベースシス
テムを示す構成図である。
FIG. 1 is a configuration diagram illustrating a database system that is Embodiment 1 of the present invention.

【図2】 この発明の実施例1のフローチャート図であ
る。
FIG. 2 is a flowchart of the first embodiment of the present invention.

【図3】 この発明の実施例2における条件群の論理構
造解析の動作を示すフローチャート図である。
FIG. 3 is a flowchart illustrating an operation of analyzing a logical structure of a condition group according to the second embodiment of the present invention.

【図4】 この発明の実施例2における各選択条件を満
たすデータの読み出しとデータベース装置への転送の動
作を示すフローチャート図である。
FIG. 4 is a flowchart illustrating an operation of reading data satisfying each selection condition and transferring the data to a database device according to the second embodiment of the present invention.

【図5】 この発明の実施例1におけるデータ部と索引
部の詳細図である。
FIG. 5 is a detailed diagram of a data part and an index part according to the first embodiment of the present invention.

【図6】 この発明の実施例2における条件群の論理構
造解析について、最も外側の演算子がandであるとき
の動作原理を示す図である。
FIG. 6 is a diagram illustrating an operation principle when the outermost operator is “and” in the logical structure analysis of the condition group in the second embodiment of the present invention.

【図7】 この発明の実施例2における条件群の論理構
造解析について、最も外側の演算子がorであるときの
動作原理を示す図である。
FIG. 7 is a diagram illustrating the principle of operation when the outermost operator is or in the logical structure analysis of a condition group according to the second embodiment of the present invention.

【図8】 従来のデータベース処理装置をともなうデー
タベースシステムの構成図である。
FIG. 8 is a configuration diagram of a database system including a conventional database processing device.

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

1 計算機システム、2 データ(データ部、全デー
タ)、3 索引、4 データベース装置、5 データ部
にある、最終的に選択されるべきデータ、6 選択条件
を満たす索引エントリ、7 索引を使える選択条件を満
たしたデータ、8データベース装置を経て最終的に選ば
れたデータ、9 本発明での、計算機システムからデー
タベース装置に転送されるデータの流れ、10 データ
ベース装置によって選び出された、選択条件を満たすデ
ータ、11 個々のデータ(データレコード)、12
データブロック、13 索引部のエントリ、14 索引
部のブロック(特にルートブロック)、15 従来方式
での、計算機システムからデータベース装置に転送され
るデータの流れ。
1 Computer system, 2 data (data section, all data), 3 indexes, 4 database devices, 5 data section, data to be finally selected, 6 index entries satisfying selection conditions, 7 selection conditions that can use indexes , Data finally selected via the database device, data flow transferred from the computer system to the database device according to the present invention, selection conditions selected by the database device and satisfying selection conditions Data, 11 individual data (data record), 12
Data block, 13 Index section entry, 14 Index section block (particularly root block), 15 Flow of data transferred from the computer system to the database device in the conventional manner.

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平5−81340(JP,A) 特開 昭64−42731(JP,A) 特開 平3−2938(JP,A) 特開 平5−233720(JP,A) 土田,武藤「RDBにおける埋込み型 問合せの最適化方式の提案」情報処理学 会第36回(昭和63年前期)全国大会講演 論文集(▲I▼),p.505−506(昭63 −3−16) (58)調査した分野(Int.Cl.7,DB名) G06F 17/30 G06F 12/00 512 JICSTファイル(JOIS)──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-5-81340 (JP, A) JP-A-64-42731 (JP, A) JP-A-3-2938 (JP, A) 233720 (JP, A) Tsuchida, Mutoh, "Proposal of Optimization Method for Embedded Query in RDB" Proc. Of the 36th (Early 1988) National Convention on Information Processing, Proceedings of the National Convention (▲ I ▼), p. 505-506 (Showa 63-3-16) (58) Field surveyed (Int. Cl. 7 , DB name) G06F 17/30 G06F 12/00 512 JICST file (JOIS)

Claims (9)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 計算機システムとデータベース装置を接
続装置でつないだデータベースシステムにおいて、計算機システムは、 データ選択条件を含むデータベース
処理が与えられた場合、該データ選択条件について索引
が使えるか否か判断し、索引部が使える場合は前記
データ選択条件を満たすデータを含む全てのデータブロ
ック群の記憶アドレスを前記索引を使って求め、該デ
ータブロック群の記憶アドレスが全て含まれる連続した
アドレス領域にあるデータブロック群をデータベース装
置へ転送するとともに、 データベース装置は、前記計算機システムから転送され
た連続したアドレス領域にあるデータブロック群を受け
取り、受け取ったデータブロック群の各データが前記デ
ータ選択条件を満たすか否かをチェックし、データブロ
ック群の中から前記データ選択条件を満たさないデータ
を削除し前記データ選択条件を満たすデータを選択して
出力する ことを特徴とするデータ転送方法。
In a database system in which a computer system and a database device are connected by a connection device, when a database process including a data selection condition is given, the computer system indexes the data selection condition.
Part is determined whether or not the use, when the index portion is used, determine the memory addresses of all data blocks containing data that meets the data selection condition with the index portion of the data block group Consecutive memory addresses are all included
The data blocks in the address area are transferred to the database device , and the database device is transferred from the computer system.
Data blocks in consecutive address areas
Each data of the received data block group is
Data selection conditions are met, and
Data that does not satisfy the data selection conditions from the
And select data that satisfies the data selection conditions
Data transfer method and outputting.
【請求項2】 前記計算機システムの索引部が使えるか
否かの判断は、選択条件を満たすデータを調べるために
使われる索引のルートブロックのエントリの数を求
め、この数に前記索引の1ブロックに含まれるエント
リ数を索引のレベル数から1を引いた回数だけ掛け合
わせた数により前記選択条件を満たすデータの数を見積
り、見積もったデータの数を、転送するデータを取り
出すための索引部のエントリに対する入出力命令の実行
回数の予測値とすることにより、索引部の予測入出力時
間を求めることにより行うことを特徴とする請求項1記
載のデータ転送方法。
2. Whether the index unit of the computer system can be used.
Whether the judgment determines the number of root block entry index portion is used to examine the selection criteria data, the number of levels in the index portion of the number of entries in the one block of the index portion to the number estimate <br/> the number of the selection criteria data by the number obtained by multiplying the number of times obtained by subtracting 1 also Ri, the number of estimated data takes the data to be transferred
Of I / O instruction to entry of index part to issue
By setting the predicted value of the number of times,
Claim 1 Symbol, which comprises carrying out the Rukoto determined between
Data transfer Okukata method of mounting.
【請求項3】 前記計算機システムの索引部が使えるか
否かの判断は、選択条件を満たすデータを調べるために
使われる索引のルートブロックより1レベル下のエン
トリの数を求め、この数に前記索引の1ブロックに含
まれるエントリ数を索引のレベル数から2を引いた回
数だけ掛け合わせた数により前記選択条件を満たすデー
タの数を見積もり、見積もったデータの数を、転送する
データを取り出すための索引部のエントリに対する入出
力命令の実行回数の予測値とすることにより、索引部の
予測入出力時間を求めることにより行うことを特徴とす
請求項1記載のデータ転送方法。
3. An index unit of the computer system can be used.
Whether the judgment determines the number of entries one level below the root block of the index portion is used to examine the selection criteria data, the index unit the number of entries included in one block of the index portion to the number also Ri, the number of estimated data transfers estimates the number of the selection criteria data by the number obtained by multiplying the number of times obtained by subtracting 2 from the number of levels of
Entry / exit of index part entry to retrieve data
By using the predicted value of the number of executions of
Data transfer Okukata method according to claim 1, characterized in that the Rukoto seek predicted input time.
【請求項4】 前記計算機システムの索引部が使えるか
否かの判断は、索引のルートブロックより1レベル下
に含まれる選択条件を満たすデータを調べるために使わ
れる先頭エントリを有する副ブロックの数を求め、この
数に前記副ブロック1個に含まれるエントリ数を乗じ、
さらにこの数に前記索引の1ブロックに含まれるエン
トリ数を前記索引のレベル数から2を引いた回数だけ
掛け合わせた数により前記選択条件を満たすデータの数
を見積もり、見積もったデータの数を、転送するデータ
を取り出すための索引部のエントリに対する入出力命令
の実行回数の予測値とすることにより、索引部の予測入
出力時間を求めることにより行うことを特徴とする請求
項1記載のデータ転送方法。
4. An index section of the computer system can be used.
To determine whether or not the number of sub-blocks having a head entry used for examining data that satisfies the selection condition included one level below the root block of the index part , the number is included in one sub-block. Multiplied by the number of entries
Further Ri also the number of the selected data that satisfies the number of the number of entries by multiplying the number of times obtained by subtracting 2 from the level number of the index portion included in one block of the index portion to the number estimate, estimated data The number of data to be transferred
I / O instructions for index entry to retrieve
The predicted value of the number of executions of
Claims, which comprises carrying out the Rukoto determined output time
Data transfer Okukata method claim 1.
【請求項5】 前記索引部の予測入出力時間を求めるこ
とは、索引部のレベル0(索引部のルート部より最も離
れた層でデータ部へのポインタを含む層)のブロック
アクセスする予測入出力時間を求めることでありこの
索引部のレベル0のブロックをアクセスする予測入出力
時間と、全てのデータを前記計算機システムからデータ
ベース装置へ転送する処理に必要な入出力命令の実行時
間とを比較して、前者が後者より長い場合は請求項1載
の計算機システムの処理を中止し、全てのデータを前記
計算機システムからデータベース装置へ転送することを
特徴とする請求項2又は3又は4記載のデータ転送方
法。
5. The method according to claim 1, further comprising determining an estimated input / output time of said index unit.
Is the index part level 0 (most distant from the root part of the index part)
A layer which is a block of the layer) containing a pointer to the data portion
It is to obtain the prediction output time for access, this
Predictive I / O for accessing level 0 block of index unit
Compared time, the execution time of the input-output instructions necessary all data from the computer system to the processing to be transferred to the database system, if the former is longer than the latter placing claim 1
Stops the process of the computer system, wherein all data
5. The data transfer method according to claim 2, wherein the data is transferred from the computer system to a database device .
【請求項6】 前記データ選択条件を満たすデータを含
全てのデータブロック群の記憶アドレスを索引を使
って求める処理の途中で、この処理で実際に索引を読
み込むのに使った入出力命令の回数を求めて予測入出力
時間を更新し、この更新された予測入出力時間と、全て
のデータを前記計算機システムからデータベース装置へ
転送する処理に必要な入出力命令の実行時間とを比較し
て、前者が後者より長い場合は請求項1記載の計算機シ
ステムの処理を中止し、全てのデータを前記計算機シス
テムからデータベース装置へ転送することを特徴とする
請求項記載のデータ転送方法。
6. in the middle of the process for obtaining with the index part storage addresses of all the data blocks including the data selection condition is satisfied data, input and output commands using to actually read the index portion in this process Input / output by calculating the number of times
The time is updated, and the updated predicted input / output time is compared with the execution time of the input / output instruction required for the process of transferring all data from the computer system to the database device, and the former is longer than the latter. Is a computer system according to claim 1.
Stop processing the stem, the computer cis all data
6. The data transfer method according to claim 5 , wherein the data is transferred from the system to the database device .
【請求項7】 前記計算機システム条件子を論理演
算子(and,or,not)で結び付けたデータ選択
条件を含むデータベース処理が与えられた場合、ある
条件子についての論理構造の複雑さを、条件子に作用を
及ぼす論理演 算子の数として定義して、データ選択条件
群に含まれている条件子についての論理構造の複雑さを
求め、論理構造の複雑さが所定の値以上であるときは、
その条件子に対する論理計算処理を中止し、計算機シス
テムからデータベース装置へ全データを転送すること
特徴とする請求項1記載のデータ転送方法。
Wherein said computer system, if the logical operators the Jokenko (and, or, not) a database processing including only data selected condition group with knot at a given, there
The complexity of the logical structure of the conditioner, the effect on the conditioner
It is defined as the number of logical operators on, data selection conditions
The complexity of the logical structure of the conditionals in the group
When the complexity of the logical structure is more than a predetermined value,
Stops the logical calculation process for the condition
2. The data transfer method according to claim 1 , wherein all data is transferred from the system to the database device .
【請求項8】 前記計算機システムは、連続するデータ
ブロック群の記憶アドレスの最大値と最小値を索引
使って求め、データブロック群の記憶アドレスの最大値
と最小値に挟まれるブロック群をデータベース装置へ転
送することを特徴とする請求項1記載のデータ転送方
法。
8. The computer system according to claim 1, wherein a maximum value and a minimum value of the storage address of the continuous data block group are obtained by using an index unit, and the maximum value of the storage address of the data block group is determined.
2. The data transfer method according to claim 1, wherein a block group sandwiched by the minimum value and the minimum value is transferred to a database device.
【請求項9】記計算機システムに記憶されたデータ
ブロックは、そのデータブロック中のデータのキー値の
最大値、最小値を含む付加情報を有し 前記計算機システムは、前記付加情報にあるデータブロ
ック中のデータのキー値の最大値、最小値を使ってその
データブロックの中にデータベース装置に転送すべきデ
ータが含まれているか否かを求め、そのデータブロック
の中にデータベース装置に転送すべきデータが含まれて
いない場合は、このデータブロック群をデータベース装
置へ転送しないことを特徴とする請求項1記載のデータ
転送方法。
9. stored before Symbol computer system data
Block, the maximum value of key values of the data in the data block, has an additional information including the minimum value, the computer system, the maximum value of key values of the data in the data block in the additional information, the minimum value Is used to determine whether or not the data block includes data to be transferred to the database device. If the data block does not include data to be transferred to the database device, the data block 2. The data transfer method according to claim 1, wherein the groups are not transferred to the database device.
JP06164018A 1994-07-15 1994-07-15 Data transfer method Expired - Fee Related JP3073889B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06164018A JP3073889B2 (en) 1994-07-15 1994-07-15 Data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06164018A JP3073889B2 (en) 1994-07-15 1994-07-15 Data transfer method

Publications (2)

Publication Number Publication Date
JPH0830639A JPH0830639A (en) 1996-02-02
JP3073889B2 true JP3073889B2 (en) 2000-08-07

Family

ID=15785229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06164018A Expired - Fee Related JP3073889B2 (en) 1994-07-15 1994-07-15 Data transfer method

Country Status (1)

Country Link
JP (1) JP3073889B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102810096B (en) 2011-06-02 2016-03-16 阿里巴巴集团控股有限公司 A kind of search method based on individual character directory system and device
JP6020448B2 (en) 2011-06-08 2016-11-02 日本電気株式会社 Database performance prediction apparatus and database prediction method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
土田,武藤「RDBにおける埋込み型問合せの最適化方式の提案」情報処理学会第36回(昭和63年前期)全国大会講演論文集(▲I▼),p.505−506(昭63−3−16)

Also Published As

Publication number Publication date
JPH0830639A (en) 1996-02-02

Similar Documents

Publication Publication Date Title
US20090240655A1 (en) Bit String Seacrching Apparatus, Searching Method, and Program
JPH0225536B2 (en)
US5566329A (en) System and method for mutation of selected assignment operations on large data objects
Li et al. ASLM: Adaptive single layer model for learned index
US5634120A (en) Computer system supporting utilization of utility functions applicable to concurrently executing jobs by monitoring job excution characteristics and determining eligible job combinations for utility function
JP3205406B2 (en) Reference target variable determination processing method and translation processing system
JP5773493B2 (en) Information processing device
EP1850250A1 (en) Method and system for renewing an index
CN115408247A (en) Threat behavior analysis method based on big data and server
JP3073889B2 (en) Data transfer method
JPWO2012081165A1 (en) Database management apparatus and database management method
JPH06251076A (en) Device and method for retrieving data base
JP2560610B2 (en) Data processing device
JP3929269B2 (en) Data processing method and apparatus
JP4080318B2 (en) Database management method, apparatus for implementing the same, and processing program therefor
Bisiani The LOCUST system
JPH02204835A (en) Rule type program executing method
JP2004258705A (en) Program processing time estimation method
Shiple et al. Computing boolean expressions with obdds
JP3224159B2 (en) Expert system
JPS63285631A (en) Updating and processing system for index file
JPS60168234A (en) Information retrieving system
JP3111498B2 (en) Record search method and data processing device
Sebastian et al. Introduction to the minitrack intelligent systems in traffic and transportation
JPH0282331A (en) Cache memory controlling 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: 20000509

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040520

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080602

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090602

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100602

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100602

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110602

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120602

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130602

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees