JPS63285629A - インデックス構成処理方法 - Google Patents
インデックス構成処理方法Info
- Publication number
- JPS63285629A JPS63285629A JP62121518A JP12151887A JPS63285629A JP S63285629 A JPS63285629 A JP S63285629A JP 62121518 A JP62121518 A JP 62121518A JP 12151887 A JP12151887 A JP 12151887A JP S63285629 A JPS63285629 A JP S63285629A
- Authority
- JP
- Japan
- Prior art keywords
- keys
- key
- section
- index
- sections
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims description 3
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 238000000034 method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
キー順に従ってキーをセクションに分割した構成のイン
デックス情報を、キー検索効率を高めるようにセクショ
ン分割をするための処理方法である。
デックス情報を、キー検索効率を高めるようにセクショ
ン分割をするための処理方法である。
キー順に対応してセクションの番号を1〜Nとし、第1
番セクションに割り当てるキーの個数をa!、N/2よ
り小さくない最小の整数をC,とし、N/2より大きい
最小の整数をC2として、とする。
番セクションに割り当てるキーの個数をa!、N/2よ
り小さくない最小の整数をC,とし、N/2より大きい
最小の整数をC2として、とする。
この方法により、キー検索におけるキー比較の平均回数
を減少することができる。
を減少することができる。
本発明は、索引ファイルのインデックス情報の構成に係
り、特にインデックスのキー検索の処理効率を向上する
ためのインデックス構成の処理方法に関する。
り、特にインデックスのキー検索の処理効率を向上する
ためのインデックス構成の処理方法に関する。
〔従来の技術と発明が解決しようとする問題点〕キーに
よってレコードを索引するように構成したデータベース
のいわゆる索引ファイルでは、公知のように所定のレコ
ードに対応してキーを設け、キーによって該当データを
検索することができるようにする。
よってレコードを索引するように構成したデータベース
のいわゆる索引ファイルでは、公知のように所定のレコ
ードに対応してキーを設け、キーによって該当データを
検索することができるようにする。
第2図は計算機の構成例を示すブロック図である。処理
装置1は所要のプログラムを実行することにより、外部
記憶装置2に格納された索引ファイル3を処理する。
装置1は所要のプログラムを実行することにより、外部
記憶装置2に格納された索引ファイル3を処理する。
索引ファイル3は、例えばレコード領域4とインデック
ス領域5を有し、インデックス領域5にはキーと、その
キーに対応するレコードの格納領域を指示するポインタ
との対を、キー検索を考慮した所定のキー順に配列する
。
ス領域5を有し、インデックス領域5にはキーと、その
キーに対応するレコードの格納領域を指示するポインタ
との対を、キー検索を考慮した所定のキー順に配列する
。
索引ファイルの構造の一種である公知のB”木構造等に
代表されるバランス木構造においては、例えば一定デー
タ長にインデックス領域を分割してなるセクションに、
所定のキー順に従ってキーとポインタの対を分配して保
持する。
代表されるバランス木構造においては、例えば一定デー
タ長にインデックス領域を分割してなるセクションに、
所定のキー順に従ってキーとポインタの対を分配して保
持する。
キー検索において、例えばキー順が昇順であるとすれば
、各セクションの最大のキーと目的のキーとを比較する
ことによって、目的のキーを含む区間のセクションを決
定し、そのセクションに保持されるキーを走査して検索
を行う。
、各セクションの最大のキーと目的のキーとを比較する
ことによって、目的のキーを含む区間のセクションを決
定し、そのセクションに保持されるキーを走査して検索
を行う。
このようなインデックス領域の分割構成においては、キ
ーの個数がN2の場合にはN個のキーを保持するN個の
セクションに分割するのが、キー検索効率上最適である
といわれ、そのようにした場合の、キー検索におけるキ
ーの平均比較回数は、キー値が一様に分布していること
を前提として、第iセクションでキーを見出す場合のキ
ー比較平均回数がi+N/2であり、あるセクションで
キーを見出す確率が一様に1/Nであることから、N+
1/2回になることは明らかであるが、より高速のキー
検索の可能なインデックス構成が望まれている。
ーの個数がN2の場合にはN個のキーを保持するN個の
セクションに分割するのが、キー検索効率上最適である
といわれ、そのようにした場合の、キー検索におけるキ
ーの平均比較回数は、キー値が一様に分布していること
を前提として、第iセクションでキーを見出す場合のキ
ー比較平均回数がi+N/2であり、あるセクションで
キーを見出す確率が一様に1/Nであることから、N+
1/2回になることは明らかであるが、より高速のキー
検索の可能なインデックス構成が望まれている。
第1図は、本発明の構成を示す処理の流れ図である。
。
。
図はキーをインデックス領域のセクションに分割して格
納する処理の流れを示し、10〜20は処理ステップで
ある。
納する処理の流れを示し、10〜20は処理ステップで
ある。
索引ファイルのインデックス領域を構成する場合には、
第1図の処理ステップ10.11においてキーの個数を
N2で表す整数Nを求める。
第1図の処理ステップ10.11においてキーの個数を
N2で表す整数Nを求める。
処理ステップ12〜20は、キー順に対応してセクショ
ンの番号を1〜Nとし、第1番セクションに割り当てる
キーの個数をa5、N/2より小さくない最小の整数を
C1とし、N/2より大きい最小の整数を02として、 とするように、セクションを決定してキーを各セクショ
ンに順次格納する処理である。
ンの番号を1〜Nとし、第1番セクションに割り当てる
キーの個数をa5、N/2より小さくない最小の整数を
C1とし、N/2より大きい最小の整数を02として、 とするように、セクションを決定してキーを各セクショ
ンに順次格納する処理である。
以上の処理によって、セクションごとに割り当てるキー
数を求めて、割り当てを最適化することにより、キー検
索のキー比較回数を従来より減少可能なインデックス構
成を得ることができる。
数を求めて、割り当てを最適化することにより、キー検
索のキー比較回数を従来より減少可能なインデックス構
成を得ることができる。
索引ファイルの創設により第2図のインデックス領域5
を構成する場合、及びレコードの追加、削除等によって
キーの個数の変動があってインデックス領域5の再構成
を要する場合等には、第1図に示す処理により、インデ
ックス領域を構成する各セクションの大きさを順次算出
しながらキーを格納する。
を構成する場合、及びレコードの追加、削除等によって
キーの個数の変動があってインデックス領域5の再構成
を要する場合等には、第1図に示す処理により、インデ
ックス領域を構成する各セクションの大きさを順次算出
しながらキーを格納する。
即ち、第1図の処理ステップ10でキーの総個数Kを求
め、処理ステップ11で、τより大きな最小の整数Nを
求める。
め、処理ステップ11で、τより大きな最小の整数Nを
求める。
処理ステップ12で変数iを1に、nをC,に初期設定
し、処理ステップ13で変数aをN+C、に設定する。
し、処理ステップ13で変数aをN+C、に設定する。
こ\で、C1は、N/2より小さくない最小の整数とし
、従ってNが偶数の場合はN/2に等しい整数、Nが奇
数の場合はN/2の小数部を切り上げた整数となる。
、従ってNが偶数の場合はN/2に等しい整数、Nが奇
数の場合はN/2の小数部を切り上げた整数となる。
次の処理ステップ14でaを1′$iじ、処理ステップ
15で、a個のキーを格納する領域を第iセクションの
領域として設け、キーをキー類にa個取り出して、第i
セクションに格納して、インデックス領域の第iセクシ
ョンを構成する。
15で、a個のキーを格納する領域を第iセクションの
領域として設け、キーをキー類にa個取り出して、第i
セクションに格納して、インデックス領域の第iセクシ
ョンを構成する。
処理ステップ16でiを1進め、処理ステップ17でi
がn (現在はCI)を越えたか判定し、nを越えてい
なければ処理ステップ14に戻り、このようにして、i
が1からCIまで処理ステップ14〜17の処理を繰り
返すことにより、1回の処理ごとにセクションを1個構
成して行く。
がn (現在はCI)を越えたか判定し、nを越えてい
なければ処理ステップ14に戻り、このようにして、i
が1からCIまで処理ステップ14〜17の処理を繰り
返すことにより、1回の処理ごとにセクションを1個構
成して行く。
iがnを越えると、第1セクシヨンから始まる前半のセ
クションの処理を終わって、処理ステップ17から処理
ステップ18に進み、iがNを越えたか判定する。
クションの処理を終わって、処理ステップ17から処理
ステップ18に進み、iがNを越えたか判定する。
今の場合ばNを越えていないので処理ステップ19に進
んでnをNに変更し、処理ステップ20でaをN+Cz
−iに設定して、処理ステップ15に戻る。
んでnをNに変更し、処理ステップ20でaをN+Cz
−iに設定して、処理ステップ15に戻る。
こ−pC2は、N/2より大きい最小の整数とし、従っ
てNが偶数の場合はN/2+1・C1+1に等しい整数
である。又、Nが奇数の場合はN/2の小数部を切り上
げた整数となるので01に等しい。
てNが偶数の場合はN/2+1・C1+1に等しい整数
である。又、Nが奇数の場合はN/2の小数部を切り上
げた整数となるので01に等しい。
処理ステップ15からの処理は前記のとおりであり、n
がNに設定されているので、処理ステップ17の判定に
よりiがNを越えるまで処理ステップ14〜17の処理
が反復されて、第C++1から第Nまでの後半セクショ
ンが順次構成され、iがNを越えると、処理ステップ1
7から処理ステップ18を経て、この全処理を終了する
。
がNに設定されているので、処理ステップ17の判定に
よりiがNを越えるまで処理ステップ14〜17の処理
が反復されて、第C++1から第Nまでの後半セクショ
ンが順次構成され、iがNを越えると、処理ステップ1
7から処理ステップ18を経て、この全処理を終了する
。
以上の処理により、キー類に配列した第1〜第Nセクシ
ヨンの、第1番セクションに割り当てるキーの個数をa
i として、 とするように、セクションを構成したインデックスの構
成が生成される。
ヨンの、第1番セクションに割り当てるキーの個数をa
i として、 とするように、セクションを構成したインデックスの構
成が生成される。
このようなインデックスの構成における、キー検索のキ
ー比較平均回数を求めると、前記従来の場合と同条件に
おいて、第iセクションに目的のキーがある場合の平均
キー比較回数がt+a=/2であり、その確率はai/
N”であことから、として求められるので、 となる。
ー比較平均回数を求めると、前記従来の場合と同条件に
おいて、第iセクションに目的のキーがある場合の平均
キー比較回数がt+a=/2であり、その確率はai/
N”であことから、として求められるので、 となる。
従って、前記従来の等分割の場合の平均回数と本発明の
場合の平均キー比較回数が少ない。
場合の平均キー比較回数が少ない。
例えばキー数N”=100とすると、従来の平均回数1
0.5に対し、本発明では平均回数10.1に減少する
。
0.5に対し、本発明では平均回数10.1に減少する
。
以上の説明から明らかなように本発明によれば、索引フ
ァイルのインデックスをセクションに分けて構成する場
合に、セクションへ割り当てるキー数の最適化が行われ
るので、キー検索処理効率を改善するという著しい工業
的効果がある。
ァイルのインデックスをセクションに分けて構成する場
合に、セクションへ割り当てるキー数の最適化が行われ
るので、キー検索処理効率を改善するという著しい工業
的効果がある。
第1図は本発明の構成を示す処理の流れ図、第2図は計
算機システムの構成例ブロック図である。 図において、 1は処理装置、 2は外部記憶装置、3は索引フ
ァイル、 4はレコード領域、5はインデックス領
域、 10〜20は処理ステップ 本発明の構成を示す処理の流れ図 第1図 計算機システムの構成例ブロック図 第2図
算機システムの構成例ブロック図である。 図において、 1は処理装置、 2は外部記憶装置、3は索引フ
ァイル、 4はレコード領域、5はインデックス領
域、 10〜20は処理ステップ 本発明の構成を示す処理の流れ図 第1図 計算機システムの構成例ブロック図 第2図
Claims (1)
- 【特許請求の範囲】 レコードを検索するためのN^2個のキーを、所定のキ
ー順に並べた場合の順序に、N個のセクションに分割し
て保持するインデックス情報を構成するに際し、 該キー順に対応して付した該セクションの番号を1〜N
とし、第i番の該セクションに割り当てるキーの個数を
a_iとし、N/2より小さくない最小の整数をC_1
とし、N/2より大きい最小の整数をC_2として、 N+C_1−i但し1≦i≦C_1 a_i= N+C_2−i但しC_1<i≦N とし、該第i番セクションにa_i個の該キーをそれぞ
れ格納する(10〜20)ことを特徴とするインデック
ス構成処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62121518A JPS63285629A (ja) | 1987-05-19 | 1987-05-19 | インデックス構成処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62121518A JPS63285629A (ja) | 1987-05-19 | 1987-05-19 | インデックス構成処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63285629A true JPS63285629A (ja) | 1988-11-22 |
Family
ID=14813200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62121518A Pending JPS63285629A (ja) | 1987-05-19 | 1987-05-19 | インデックス構成処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63285629A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8224829B2 (en) | 2000-11-30 | 2012-07-17 | Bernard Consulting Limited | Database |
-
1987
- 1987-05-19 JP JP62121518A patent/JPS63285629A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8224829B2 (en) | 2000-11-30 | 2012-07-17 | Bernard Consulting Limited | Database |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5884320A (en) | Method and system for performing proximity joins on high-dimensional data points in parallel | |
US5179699A (en) | Partitioning of sorted lists for multiprocessors sort and merge | |
US5978794A (en) | Method and system for performing spatial similarity joins on high-dimensional points | |
JPH11212980A (ja) | インデクス作成方法および検索方法 | |
JP2004518226A (ja) | データベースシステムおよびクエリオプティマイザ | |
US20030061244A1 (en) | System and method for database query optimization | |
JPS63285629A (ja) | インデックス構成処理方法 | |
JPH09305622A (ja) | 文書検索機能を有するデータベース管理方法およびシステム | |
CN113495901A (zh) | 一种面向可变长数据块的快速检索方法 | |
CN112860734A (zh) | 地震数据多维度范围查询方法及装置 | |
CN111444180A (zh) | 一种双层结构的索引及其查询方法 | |
JPS61141035A (ja) | デ−タ検索方式 | |
JPH0456344B2 (ja) | ||
JPH0496837A (ja) | データベース処理装置におけるインデックス構成方法 | |
JPH04102172A (ja) | 情報検索方式 | |
JP2001209651A (ja) | 多次元ベクトル検索方法および装置並びに多次元ベクトル検索プログラムを記録した記録媒体 | |
JPH02204835A (ja) | ルール型プログラム実行方法 | |
JPS62212726A (ja) | インデツクスキー圧縮処理方法 | |
CN117873382A (zh) | 一种基于Kylin逐层算法的Cube存储优化方法 | |
JPS63172334A (ja) | デ−タベ−スシステムのデ−タ処理方式 | |
JPH0447858B2 (ja) | ||
JPH0452967A (ja) | 集合ファイルに対する論理積演算処理方式 | |
JPH1049545A (ja) | 連想記憶装置 | |
JPS63285631A (ja) | 索引ファイル更新処理方式 | |
JPS63276639A (ja) | レコ−ド追加処理方法 |