JPH02297669A - Managing method for sequential file with index - Google Patents
Managing method for sequential file with indexInfo
- Publication number
- JPH02297669A JPH02297669A JP1118307A JP11830789A JPH02297669A JP H02297669 A JPH02297669 A JP H02297669A JP 1118307 A JP1118307 A JP 1118307A JP 11830789 A JP11830789 A JP 11830789A JP H02297669 A JPH02297669 A JP H02297669A
- Authority
- JP
- Japan
- Prior art keywords
- key
- data
- searched
- file
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 22
- 230000001174 ascending effect Effects 0.000 claims description 6
- 238000007726 management method Methods 0.000 claims 1
- 230000008520 organization Effects 0.000 claims 1
- 238000005303 weighing Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
乱順に書込まれた被検索データに、この被検索データを
一意的に識別できるキーを附加し、このキーの附加され
たデータとしてのレコードを、該キーの値が昇順になる
ように配列し、前記被検索データを高速に検索できるよ
うにした索引付順編成ファイル(以下ISAMファイル
とも略記する)のシステム・において、
特にキー以外の条件によってファイル検索を高速に行い
得るようにするための検索付順編成ファイルの管理方法
に関する。
なお以下各図において同一の符号は同一もしくは相当部
分を示す。A key that can uniquely identify this searched data is added to the searched data written in random order, and records as data to which this key is added are arranged so that the values of the keys are in ascending order. In a system for indexed sequential files (hereinafter also abbreviated as ISAM files) that enables high-speed searching of the searched data, there is a search system that enables high-speed file searching based on conditions other than keys. This article relates to a method of managing sequentially organized files. Note that in the following figures, the same reference numerals indicate the same or corresponding parts.
ISAMファイルシステムは、被検索データにキーと呼
ばれる検索用データを付加してなるレコードを単位とし
て管理されるファイルシステムである。そのキーはアル
ファベットのような順番を持っており、またそのレコー
ドを一意的に識別する目的があり、ユニークなものであ
る。このキーの順番でレコードがISAMファイルの中
に格納され、被検索データ、従ってレコードを検索する
場合はそのキーを指定してやるだけで、あとはISAM
ファイルシステムが自動的に検索してくれる。The ISAM file system is a file system that is managed in units of records, which are created by adding search data called keys to search target data. The key has an alphabetical order and is unique because it has the purpose of uniquely identifying the record. The records are stored in the ISAM file in the order of this key, and if you want to search for the data to be searched, and therefore the record, just specify that key, and the rest is done in the ISAM file.
The file system will automatically search for it.
しかしながらこのISAMファイルシステムを利用する
場合、目的とするレコードのキーがハツキリと分かって
いる場合にはよいが、レコード内の被検索データの中身
の条件で検索したい場合には有効とは言えず、キーを指
定して毎回読み出しては被検索データの内容を判断して
やらなければいけない。この場合、通常は先頭のキーを
指定し、あとは順番にキーを一つずつ増やしながら検索
していくことになる。従って、もしも目的とするレコー
ドが最後のほうのキーであった場合には全てのキーに対
するレコードを読み出さなければいけなくなり、それだ
け検索にかかる時間が長くなってしまうという問題が生
じる。さらには、頻繁に使用するレコードが最後のほう
にあれば、システムに与える負荷は非常に大きくなって
しまうという問題がある。
そこで本発明はキーに検索時期の後先による重みっけを
行うか、またはレコード内のキー以外の被検索データ内
にそのデータの検索時期の後先を識別するためのリンク
情報を設け、この重みづけ情報またはリンク情報を用い
てデータ検索を行う索引付順編成ファイルの管理方法を
提供することにより、前記の問題を解消することを課題
とする。However, when using this ISAM file system, it is good when you clearly know the key of the target record, but it is not effective when you want to search based on the contents of the searched data in the record. The content of the searched data must be determined by specifying the key and reading it each time. In this case, you would normally specify the first key and then search by increasing the keys one by one. Therefore, if the target record is the last key, records for all keys must be read, which causes a problem that the time required for the search increases accordingly. Furthermore, if frequently used records are located near the end, there is a problem in that the load on the system becomes extremely large. Therefore, the present invention weights the key according to the later date of the search time, or provides link information in the searched data other than the key in the record to identify the later date of the search time of the data. It is an object of the present invention to solve the above problem by providing a method for managing indexed sequential files in which data searches are performed using weighting information or link information.
前記の課題を解決するために本発明の方法は、「乱順に
書込まれた被検索データ(DTなど)に、この被検索デ
ータを一意的に識別できるキー(Kなど)を附加し、こ
のキーの附加されたデータとしてのレコード(1−4な
ど)を該キーの値が昇順になるように配列し、前記被検
索データを高速に検索できるようにした索引付順編成フ
ァイル(01などの)システムにおいて、
現存の索引付順編成ファイルとは別に、キーに対する重
みづけを格納するファイル(キーファイル02など)を
設け、この重みづけ情報に従って前記被検索データを検
索し得るようにすることにより、前記キー以外の条件に
よって、前記被検索データを高速に検索できるように1
するか、またはr乱順に書込まれた被検索データに、こ
の被検索データを一意的に識別できるキーを附加し、こ
のキーの附加されたデータとしてのレコードを該キーの
値が昇順になるように配列し、前記被検索データを高速
に検索できるようにした索引付順編成ファイルシステム
において、
前記被検索データ内に該データの検索時期の後先を識別
できるリンク情報(人優先順位キー6−1、前優先順位
キー6−2など)を附加し、このリンク情報に従って前
記被検索データを検索し得るようにすることにより、前
記キー以外の条件によって頻繁に同一の前記被検索デー
タを高速に検索できるように1するものとする。In order to solve the above-mentioned problems, the method of the present invention adds a key (such as K) that can uniquely identify the searched data (such as DT) written in random order to the searched data (DT, etc.). An indexed sequential file (such as 01) in which records as data with keys (such as 1-4) are arranged in ascending order of the key values, and the data to be searched can be searched at high speed. ) system, by providing a file (key file 02, etc.) that stores weights for keys in addition to the existing indexed sequential file, and making it possible to search the searched data according to this weighting information. , 1 so that the searched data can be searched at high speed based on conditions other than the key.
Or, add a key that can uniquely identify this searched data to the searched data written in random order, and arrange the records as data with this key in ascending order of the values of the key. In an indexed sequential file system in which the data to be searched can be searched at high speed by arranging the searched data as shown in FIG. -1, previous priority key 6-2, etc.), and by making it possible to search the searched data according to this link information, the same searched data can be searched at high speed based on conditions other than the key. 1 so that it can be searched.
本発明は、現存のISAMファイルの被検索データに、
検索する上での優先順位を与えるために、そのファイル
内のレコード(従って被検索データ)が検索された時期
に応じた重みずけを与える機能、すなわち最近アクセス
されたキーを持つレコードを最も優先度を高くその検索
順位を先頭にする機能、換言すればその重み(優先順位
)づけを別のファイル(キーファイル)に格納し、IS
AMファイルがアクセスされる毎にこの重みづけファイ
ル(キーファイル)のキーのリンク(検索の順番)をか
える機能を設けることkよ゛す、
あるいは現存のISAMファイルのレコードのキー以外
の被検索データ内に、そのレコード(従って被検索デー
タ)が処理された時期の後先を判断するリンク情報、す
なわち最近アクセスされたキーを持つレコードを最も優
先度を高くし検索順を先にする情報を設け、各レコード
がアクセスされる毎にこのリンク情報を付は替えること
により、レコードを検索する順番を最も新しくアクセス
された順番に行うことを可能にした。これにより、従来
から存在するISAMファイルのレコード配列には何も
手を加えず、頻繁に使用するレコードが最後のほうにあ
っても、レコード検索時にシステムに与える負荷を最小
限におさえることが可能になる。The present invention provides search target data of existing ISAM files.
In order to give search priority, a function that gives weight according to when the records in the file (therefore the searched data) were searched, that is, records with keys that have been accessed recently are given the highest priority. IS
It is recommended to provide a function to change the key link (search order) of this weighting file (key file) every time the AM file is accessed, or to search data other than the key of the record of the existing ISAM file. Provide link information that determines when the record (and therefore the searched data) was processed, that is, information that gives the record with the most recently accessed key the highest priority and first in the search order. By replacing this link information each time each record is accessed, it is possible to search for records in the order in which they were most recently accessed. This makes it possible to minimize the load placed on the system when searching for records, without making any changes to the existing ISAM file record arrangement, even if frequently used records are near the end. become.
以下第1図ないし第9図に基づいて本発明の詳細な説明
する。まず、第9図はISAMファイルシステムのファ
イル01の構造図である。即ちISAMファイル01は
インデックスブロック1−2、データブロック1−3、
空きブロック1−1の3種類のブロックで構成されてい
る。インデックスブロック1−2はデータブロック1−
3の繋がりを管理する部分でデータブロック1−3の番
号を示すブロック番号BNによって構成されている。デ
ータブロック1−3は複数のレコード1−4と、前記ブ
ロック番号BNと、各データブロック1−3のブロック
番号BN間のリンク情報LDとを含んでいる。また、各
レコード1−4の構成は固定長であり、このレコード1
−4は最終の被検索対象としての被検索データDTおよ
び該データDTを一意的に識別できるキーに等からなる
データ1−7と、前記キーにの位置情報1−5と、前記
キー1−7にのデータ長(キー長)1−6とを備えてい
る。そしてこのISAMファイルシステムは、このキー
Kを元にしてデータブロック1−3の繋がりを判断して
、インデックスブロック1−2を構成するブロック番号
BNの配列、およびデータブロックの1−3を構成する
レコード1−4の配列をキーKが昇順となるように変更
していく。
次に第1図ないし第4図に基づいて本発明の第1の実施
例を説明する。
この第1の実施例では前述のISAMファイル01とは
別に、第2図に示すような構造の重みづけファイルとし
てのキーファイル02を用意する。こきキーファイル0
2は、ISAMファイル01に格納されているデータ1
−7内のキーにの優先順位を定義したファイルであり、
先頭部02+1と各レコード1−4に対応する多数のキ
ーブロックKBとからなる。そして前記先頭部02)1
には最高優先順位のキーブロックNα2−1、キー長2
−2、キーK、従ってキーブロックKBの数2−3が登
録されている。以降の各キーブロックKBには各キーK
(の内容)、次優先順位キーブロックNα2−5、前優
先順位キーブロックNα2−6が格納されている。
次にこれらのファイル01,02を使って目的とする被
検索データDTを検索する方法の概要を、第1図を用い
て説明する。まず、アプリケーションプログラムで、キ
ー以外の条件で目的のデータを検索したい場合、従来で
あれば最初に先頭のキーに指定してデータ1−7を読み
出し、データ1−7内の情報DTを読み、その被検索デ
ータDTが目的とするデータであるかを判断する。それ
を繰り返し実行して目的のデータを検索するということ
になる。ここで、頻繁にこのデータ1−7を検索する場
合、毎回同じだけの時間を費やしてやることになる。本
発明では、まず重みすけファイルとしのキーファイル0
2を参照し、最高優先順位キーブロック距2−1内の番
号値をもとめ、その番号値に相当するキーブロックKB
に格納されているキーを指定してISAMファイル01
のシステムに検索要求をだし、データ1−7の読み込み
を実行する。そのデータ1−7が目的とするデータでな
かった場合には、該キーブロックKBの次優先順位のキ
ーブロックN11(何番目のキーであるかを示すインデ
ックス)2−5のリンクを辿って、次優先順位のキーブ
ロックKB内のキーKにて検索を要求する。この処理を
、例えば同図のキーファイル02中のキーブロックKB
を■〜■のように辿りながら繰り返し、目的のデータを
検索していく。
目的とするデータ1−7(従って被検索データDT)の
検索が完了した時点で、そのキーKを持ツレコード1−
4に対応するキーファイル02の該当するキーブロック
KBを最高優先順位に付は替える処理を行わせる。
次にこの付は替え処理の手順を第3図を用いて説明する
。同図はキーファイル02における先頭部02H9およ
びキーブロックKB内のリンク情報の変化を前記の検索
前と検索後について比較したものである。
まず、今回検索したキーブロックKB(この例では番号
値Nα4−1)の前優先順位キーブロックNo、 2−
6内の番号値(この例ではNo、 4−2 )と次優先
順位キーブロックNα2−5内の番号値Nα4−3をチ
ェックし、前記の前優先順位のキーブロックKB(Nα
4−2)における次優先順位キーブロックNα2−5内
に前記の次優先順位のキーブロックKBの番号値Nα4
−3を格納し、逆に前記の次優先順位のキーブロックK
B(No、4−3)における前優先順位キーブロックN
o、 2−6内には前記の前優先順位のキーブロックK
Bの番号値Nα4−2を格納する。
また現在までの最高優先キーブロックKB(番号値No
、 4−4 )における前優先順位キーブロックNα2
−6内に今回検索したキープロックブロックKBの番号
値Nα4−1を格納し、また、今回検索したキーブロッ
クKB(Nα4−1)における次優先順位キーブロック
Nα2−5内へは、前回までの最高優先順位のキーブロ
ックKBの番号値No、 4−4を格納し、このキーブ
ロック(No、4−1 ) (D前便先順位キーブロッ
クNα2−6内へは、当該のキーブロックNα4−1が
最高優先順位であるという特別なマークを格納する。そ
の後にキーファイル先頭部02)1における最高優先キ
ーブロックNo、 2−1内へ今回検索したレコードに
ついてのキーブロックNαの番号値No、 4−1を書
き込む。
また、新たなデータをISAMファイル01へ追加する
場合には同様に、キーファイル02に対して登録しなけ
ればいけない。次に第4を用いてこの登録の手順を説明
する。同図はキーファイル02における先頭部02H,
およびキーブロックKB内のリンク情報の変化をこの追
加の前後について比較したものである。
今回追加しようとするキーブロックKB(番号値Nα5
−1とする)における前優先順位キーブロックN012
−6内へは、当富亥のキーブロックKBが最高優先順位
であるという特別なマークを格納し、またこのキーブロ
ックの次優先順位キープロックNα2−5内へは前回ま
での最高優先順位のキーブロックKBの番号値(この例
ではNα5−2)を格納する。次に現在迄の最高優先の
キーブロックとしての番号値Nα5−2のキーブロック
KBにおける前優先順位キープロックNα2−6内に今
回追加するキーブロックKBの番号値Nα5−1を格納
する。そしてキーファイル02の先頭部02Hにおける
最高順位キーブロックNα2−1内に今回追加のキーブ
ロックの番号値漱5−1を格納する。
次に第5図ないし第8図に基づいて本発明の第2の実施
例を説明する。
二の第2の実施例では第9図で述べたrsAMファイル
01のレコード1−4内に第6図に示すような構造のデ
ータ部1−7を設ける。即ちこのデータ部1−7には、
キーに以外に従来の被検索データDTの先頭部にキーに
と同じ長さの2つのリンク情報としての次優先順位キー
6−1、および前優先順位キー6−2を付加する。そし
てDTIが被検索データとなる。そしてさらにISAM
ファイル01とは別に、最も最近アクセスされたレコー
ド1−4のキーKを格納しておくファイルとしての先頭
キーファイル03を設ける。
この先頭キーファイル03とデータ部1−7の上述のリ
ンク情報を使って目的とするデータを検索する方法の概
要を第5図を用いて説明する。まず、アプリケーション
プログラムで、キー以外の条件で目的のデータを頻繁に
検索したい場合、まず先頭キーファイル03を参照し、
最高優先順位のキーをもとめ、そのキーKを指定してI
SAMファイルシステム01に検索要求をだし、データ
1−7(従ってDT)の読み込みを実行する。ここでそ
の読込のデータ1−7が目的とするデータでなかった場
合には、当該レコード1−4内の次優先順位キー6−1
内のキ一番号のリンクを辿って示されたキーKを指定し
てISAMファイルシステム01に検索を要求する。こ
の処理を繰り返し、目的のデータ1−7を検索していく
。
このようにして目的とするデータ1−7の検索が完了し
た時点で、そのキーKを持つレコード1−4の優先順位
を付は替える処理を行うが、その手順を第7図を用いて
説明する。第7図はこの検索の前後における先頭キーフ
ァイル03およびレコード1−4内のリンク情報の変化
を示す。
まず、今回検索したレコード1−4(そのキ一番号値を
Nα7−1とする)内の前優先順位キー6−2に格納さ
れたキ一番号値(この例ではNα7−2)を持つレコー
ド1−4と、同じく次優先順位キー6−1に格納された
キ一番号値(この例ではNα7−3)を持つレコード1
−4とをチェックし、前記の前優先順位キーの番号値随
7−2を持つレコード1−4における次優先順位キー6
−1内に前記の次優先順位キーの番号値No、 7−3
を格納し、逆に前記の次優先順位キーの番号値Nα7−
3を持つレコード1−4における前優先順位キー6−2
内には前記の前優先順位キーの番号値Nα7−2を格納
する。
また今まで先頭キーファイル03にキ一番号値が格納さ
れているレコード1−4(この例ではキ一番号値No、
7−4)内の前優先順位キー6−2内に今回検索したレ
コードのキーにの番号値Nα7−1を格納し、また今回
検索したレコード1−4(キ一番号値7−1)内の次優
先順位キー6−1内へは、前回までの最高優先順位キー
の番号値No、 7−4を格納し、同じく前優先順位キ
ー6−2内へは、当該のレコード1−4が最高優先順位
であるという特別なマークを格納する。その後に先頭キ
ーファイル03へ今回検索したレコード1−4のキ一番
号値Nα7−1を書き込む。
また、新たなデータをISAMファイル01へ追加する
場合には同様に、先頭キーファイル03に対して登録し
なければいけない、この手順を第8図を用いて説明する
。同図はこの追加の前後における先頭キーファイル03
およびレコード1−4内のリンク情報の変化を示す。
即ち今回追加しようとするレコード1−4 (この例で
はそのキ一番号値をNα8−1とする)内の前優先順位
キー6−2内へは、このレコードが最高優先順位である
という特別なマークを格納し、同じく該レコードの次優
先順位キー6−1内へは前回までの最高優先順位キーの
番号値(この例ではNQ、8−2とする)を格納する。
次に先頭キーファイル03に格納されているキ一番号値
Nα8−2を持つレコード1−4内の前優先順位キー6
−2内に今回追加するキ一番号値Nα8−1を格納する
。The present invention will be described in detail below with reference to FIGS. 1 to 9. First, FIG. 9 is a structural diagram of file 01 of the ISAM file system. That is, ISAM file 01 has index blocks 1-2, data blocks 1-3,
It is composed of three types of blocks: empty block 1-1. Index block 1-2 is data block 1-
This part manages the connection of data blocks 1 to 3, and is composed of block numbers BN indicating the numbers of data blocks 1 to 3. The data block 1-3 includes a plurality of records 1-4, the block number BN, and link information LD between the block numbers BN of each data block 1-3. Also, the structure of each record 1-4 is fixed length, and this record 1-4 has a fixed length.
-4 is data 1-7 consisting of the searched data DT as the final search target, a key that can uniquely identify the data DT, etc., position information 1-5 for the key, and the key 1-4. 7, data length (key length) 1-6. Then, this ISAM file system determines the connection between data blocks 1-3 based on this key K, and configures the array of block numbers BN that constitute index block 1-2 and data blocks 1-3. The arrangement of records 1-4 is changed so that the keys K are in ascending order. Next, a first embodiment of the present invention will be described based on FIGS. 1 to 4. In this first embodiment, a key file 02 as a weighting file having a structure as shown in FIG. 2 is prepared in addition to the above-mentioned ISAM file 01. Koki key file 0
2 is data 1 stored in ISAM file 01
This is a file that defines the priority order of keys in -7.
It consists of a leading part 02+1 and a large number of key blocks KB corresponding to each record 1-4. And the first part 02)1
has the highest priority key block Nα2-1, key length 2
-2, key K, and therefore the number of key blocks KB 2-3 are registered. Each subsequent key block KB contains each key K.
(Contents of), next priority key block Nα2-5, and previous priority key block Nα2-6 are stored. Next, an outline of a method for searching for the target search data DT using these files 01 and 02 will be explained using FIG. First, in an application program, if you want to search for target data using conditions other than keys, conventionally, you would first specify it as the first key, read data 1-7, read the information DT in data 1-7, It is determined whether the searched data DT is the target data. This process is repeated to search for the desired data. Here, if this data 1-7 is searched frequently, the same amount of time will be spent each time. In the present invention, first, the key file 0 as a weight scale file is
2, find the number value within the highest priority key block distance 2-1, and select the key block KB corresponding to that number value.
ISAM file 01 by specifying the key stored in
sends a search request to the system and reads data 1-7. If the data 1-7 is not the desired data, follow the link of the next priority key block N11 (index indicating the key number) 2-5 of the key block KB, A search is requested using the key K in the next priority key block KB. For example, this process can be performed using the key block KB in the key file 02 in the same figure.
Repeat steps from ■ to ■ to search for the desired data. When the search for the target data 1-7 (therefore the searched data DT) is completed, the record 1-7 with the key K is
A process of assigning the corresponding key block KB of the key file 02 corresponding to No. 4 to the highest priority is performed. Next, the procedure for this attachment change process will be explained using FIG. 3. This figure compares changes in the link information in the leading part 02H9 of the key file 02 and in the key block KB before and after the above-mentioned search. First, the previous priority key block No. 2- of the key block KB searched this time (number value Nα4-1 in this example)
6 (No, 4-2 in this example) and the number value Nα4-3 in the next priority key block Nα2-5 are checked, and the previous priority key block KB (Nα
The number value Nα4 of the next priority key block KB in the next priority key block Nα2-5 in 4-2)
-3, and conversely the next priority key block K
Previous priority key block N in B (No, 4-3)
o, 2-6 contains the previous priority key block K
The number value Nα4-2 of B is stored. Also, the highest priority key block KB (number value No.
, 4-4), the previous priority key block Nα2
The number value Nα4-1 of the keep lock block KB searched this time is stored in −6, and the next priority key block Nα2-5 of the key block KB searched this time (Nα4-1) is stored in the previous key block Nα2-5. The number value No. 4-4 of the highest priority key block KB is stored, and the corresponding key block Nα4- is stored in this key block (No. 4-1). A special mark indicating that 1 is the highest priority is stored.After that, the highest priority key block No. at the top of the key file 02) 1, the number value No. of the key block Nα for the record currently searched in 2-1, Write 4-1. Furthermore, when new data is added to the ISAM file 01, it must be registered in the key file 02 as well. Next, this registration procedure will be explained using the fourth example. The figure shows the first part 02H of the key file 02,
and a comparison of changes in link information in the key block KB before and after this addition. The key block KB to be added this time (number value Nα5
-1) previous priority key block N012
-6 stores a special mark indicating that the key block KB of this key block has the highest priority, and the next priority key block Nα2-5 of this key block stores the previous highest priority. The number value of the key block KB (Nα5-2 in this example) is stored. Next, the number value Nα5-1 of the key block KB to be added this time is stored in the previous priority keep lock Nα2-6 in the key block KB with the number value Nα5-2 as the key block with the highest priority up to now. Then, the number value 5-1 of the key block added this time is stored in the highest order key block Nα2-1 at the beginning 02H of the key file 02. Next, a second embodiment of the present invention will be described based on FIGS. 5 to 8. In the second embodiment, a data section 1-7 having a structure as shown in FIG. 6 is provided in records 1-4 of the rsAM file 01 described in FIG. 9. That is, in this data section 1-7,
In addition to the key, a next priority key 6-1 and a previous priority key 6-2, which are two pieces of link information having the same length as the key, are added to the head of the conventional searched data DT. Then, the DTI becomes the data to be searched. And further ISAM
Separately from file 01, a leading key file 03 is provided as a file that stores keys K of records 1-4 that have been accessed most recently. An outline of a method for searching for target data using the leading key file 03 and the above-mentioned link information of the data section 1-7 will be explained with reference to FIG. First, if you want to frequently search for target data using conditions other than keys in an application program, first refer to the first key file 03,
Find the key with the highest priority, specify that key K, and press I
A search request is issued to the SAM file system 01, and reading of data 1-7 (therefore, DT) is executed. Here, if the read data 1-7 is not the target data, the next priority key 6-1 in the record 1-4 is
A search request is made to the ISAM file system 01 by following the link of the key number in the file and specifying the indicated key K. This process is repeated to search for the target data 1-7. When the search for the target data 1-7 is completed in this way, the priority order of the record 1-4 having the key K is changed.The procedure will be explained using FIG. do. FIG. 7 shows changes in the link information in the leading key file 03 and records 1-4 before and after this search. First, the record with the key number value (Nα7-2 in this example) stored in the previous priority key 6-2 in the record 1-4 searched this time (its key number value is Nα7-1) 1-4, and record 1 with the key number value (Nα7-3 in this example) stored in the next priority key 6-1.
-4 and next priority key 6 in record 1-4 with number value 7-2 of the previous priority key.
-1 is the number value No. of the next priority key, 7-3
and conversely the number value Nα7- of the next priority key.
Previous priority key 6-2 in record 1-4 with 3
The number value Nα7-2 of the previous priority key is stored inside. Also, records 1-4 (in this example, the key number value No.,
Store the number value Nα7-1 in the key of the record currently searched in the previous priority key 6-2 in 7-4), and store the number value Nα7-1 in the key of the record currently searched (key number value 7-1). In the next priority key 6-1, the number value No. 7-4 of the highest priority key up to the previous time is stored, and in the same way, in the previous priority key 6-2, the corresponding record 1-4 is stored. Stores a special mark of highest priority. Thereafter, the key number value Nα7-1 of the record 1-4 retrieved this time is written into the first key file 03. Furthermore, when new data is added to the ISAM file 01, it must be registered in the leading key file 03. This procedure will be explained using FIG. 8. The figure shows the first key file 03 before and after this addition.
and changes in link information in records 1-4. In other words, a special message indicating that this record has the highest priority is added to the previous priority key 6-2 in record 1-4 (in this example, the key number value is Nα8-1) that is to be added this time. The mark is stored, and the number value of the highest priority key up to the previous time (in this example, NQ, 8-2) is stored in the next priority key 6-1 of the record. Next, the previous priority key 6 in the record 1-4 with the key number value Nα8-2 stored in the first key file 03
The key number value Nα8-1 to be added this time is stored in -2.
本発明によれば、ISAMファイルに対してキー以外の
条件でデータを検索する際に、頻繁に検索されるデータ
を検索する順番の優先順を上げるようなリンク情報を辿
ってキーを求めデータ検索を行うよにしたので高速にデ
ータの検索ができるようになる。According to the present invention, when searching for data in an ISAM file using conditions other than a key, the data is searched by following link information that increases the priority of the search order for frequently searched data. By doing this, data can be searched quickly.
第1図は本発明の一実施例としてのデータ検索方法の説
明図、
第2図は第1図におけるキーファイルの構成図、第3図
は第1図におけるデータ検索後のキーファイルの処理手
順の説明図、
第4図は第1図におけるデータ追加時のキーファイルの
処理手順の説明図、
第5図は本発明の第2の実施例としてのデータ検索方法
の説明図、
第6図は第5図におけるデータ内のリンク情報の構成図
、
第7図は第5図における検索後のリンク情報の処理手順
の説明図、
第8図は第5図における追加時のリンク情報の処理手順
の説明図、
第9図はISAMファイルの構成の説明図である。
01:ISAMファイル、02:キーファイル、03:
先頭キーファイル、1−2:インデックスプロツク、■
−3=データブロック、1−4ニレコード、1−5:キ
ー位置、1−6:キー長、1−7:データ、K:キー、
DT、DTI :被検索データ、02H:先頭部、K
B:キーブロック、2−1=最高優先順位キーブロック
Nα、2−2=キー長、2−3:キーブロックの数、2
−5:次優先順位キープロックNα、2−6:前優先順
位キーブロックNα、6−に次優先順位キー、6−2:
前優先々 1図
、Ω2 :キー7アイル
オ 2 図
「Figure 1 is an explanatory diagram of a data search method as an embodiment of the present invention, Figure 2 is a configuration diagram of the key file in Figure 1, and Figure 3 is the processing procedure for the key file after data search in Figure 1. FIG. 4 is an explanatory diagram of the key file processing procedure when adding data in FIG. 1. FIG. 5 is an explanatory diagram of the data search method as the second embodiment of the present invention. A configuration diagram of the link information in the data in Fig. 5, Fig. 7 is an explanatory diagram of the processing procedure of the link information after searching in Fig. 5, and Fig. 8 is an illustration of the processing procedure of the link information at the time of addition in Fig. 5. Explanatory diagram: FIG. 9 is an explanatory diagram of the structure of an ISAM file. 01: ISAM file, 02: Key file, 03:
First key file, 1-2: Index block, ■
-3=data block, 1-4 records, 1-5: key position, 1-6: key length, 1-7: data, K: key,
DT, DTI: Searched data, 02H: First part, K
B: Key block, 2-1=Highest priority key block Nα, 2-2=Key length, 2-3: Number of key blocks, 2
-5: Next priority key block Nα, 2-6: Previous priority key block Nα, next priority key at 6-, 6-2:
Priority first Figure 1, Ω2: Key 7 Air O Figure 2
Claims (1)
タを一意的に識別できるキーを附加し、このキーの附加
されたデータとしてのレコードを、該キーの値が昇順に
なるように配列し、前記被検索データを高速に検索でき
るようにした索引付順編成ファイルシステムにおいて、 現存の索引付順編成ファイルとは別に、キーに対する重
みづけを格納するファイルを設け、この重みづけ情報に
従って前記被検索データを検索し得るようにすることに
より、前記キー以外の条件によって、前記被検索データ
を高速に検索できるようにしたことを特徴とする索引付
順編成ファイルの管理方法。 2)乱順に書込まれた被検索データに、この被検索デー
タを一意的に識別できるキーを附加し、このキーの附加
されたデータとしてのレコードを該キーの値が昇順にな
るように配列し、前記被検索データを高速に検索できる
ようにした索引付順編成ファイルシステムにおいて、 前記被検索データ内に該データの検索時期の後先を識別
できるリンク情報を附加し、このリンク情報に従って前
記システム検索データを検索し得るようにすることによ
り、前記キー以外の条件によって頻繁に同一の前記被検
索データを高速に検索できるようにしたことを特徴とす
る索引付順編成ファイルの管理方法。[Claims] 1) A key that can uniquely identify this searched data is added to the searched data written in random order, and a record as data to which this key is added is defined by the value of the key. In an indexed sequential file system in which the searched data is arranged in ascending order and the searched data can be searched at high speed, a file is provided that stores weights for keys in addition to the existing indexed sequential file. , an indexed sequential organization file characterized in that the searched data can be searched according to this weighting information, so that the searched data can be searched at high speed based on conditions other than the key. Management method. 2) Add a key that can uniquely identify this searched data to the searched data written in random order, and arrange the records as data to which this key is added so that the values of the key are in ascending order. In the indexed sequential file system that allows the searched data to be searched at high speed, link information is added to the searched data to identify the destination of the search time of the data, and the searched data is searched according to this link information. A method for managing indexed sequential files, characterized in that by making system search data searchable, the same searched data can be frequently searched at high speed based on conditions other than the key.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1118307A JP2722660B2 (en) | 1989-05-11 | 1989-05-11 | How to manage indexed sequential files |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1118307A JP2722660B2 (en) | 1989-05-11 | 1989-05-11 | How to manage indexed sequential files |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02297669A true JPH02297669A (en) | 1990-12-10 |
JP2722660B2 JP2722660B2 (en) | 1998-03-04 |
Family
ID=14733446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1118307A Expired - Lifetime JP2722660B2 (en) | 1989-05-11 | 1989-05-11 | How to manage indexed sequential files |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2722660B2 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61188658A (en) * | 1985-02-15 | 1986-08-22 | Canon Inc | Character processing device |
-
1989
- 1989-05-11 JP JP1118307A patent/JP2722660B2/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61188658A (en) * | 1985-02-15 | 1986-08-22 | Canon Inc | Character processing device |
Also Published As
Publication number | Publication date |
---|---|
JP2722660B2 (en) | 1998-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6236988B1 (en) | Data retrieval system | |
US4914569A (en) | Method for concurrent record access, insertion, deletion and alteration using an index tree | |
US6049804A (en) | Method and apparatus for segmenting a database | |
EP0124097B1 (en) | Method for storing and retrieving data in a data base | |
US5497485A (en) | Method and apparatus for implementing Q-trees | |
CA2281287C (en) | Method and system for efficiently searching for free space in a table of a relational database having a clustering index | |
US4893232A (en) | Data management system for efficiently searching data elements and having a flexible registration order of data elements | |
JP4101410B2 (en) | Time version data storage device | |
JPS63116232A (en) | Method of memorizing and retrieving data using computer | |
JP2000357115A (en) | Device and method for file retrieval | |
EP1116137B1 (en) | Database, and methods of data storage and retrieval | |
JPH02297669A (en) | Managing method for sequential file with index | |
JP4314126B2 (en) | Concurrent execution control method and apparatus | |
JP2675958B2 (en) | Information retrieval computer system and method of operating storage device thereof | |
JPH0962697A (en) | Merchandise code retrieving system | |
EP0170442A2 (en) | A method for searching sparse databases using an associative technique | |
JPH02259942A (en) | Data base generation management processing system | |
JPS59146339A (en) | Information retrieving system | |
JPS593549A (en) | File management system | |
JP2604787B2 (en) | Two-dimensional data storage method | |
JPS61103242A (en) | High-speed retrieval system | |
JPH03262078A (en) | Data retrieving system | |
JPH06214849A (en) | Data base system | |
JPH08202723A (en) | Map information storage system | |
Deen | Data and File Structure |