JPH0793130A - テーブルデータのソートマージ方法 - Google Patents

テーブルデータのソートマージ方法

Info

Publication number
JPH0793130A
JPH0793130A JP5241855A JP24185593A JPH0793130A JP H0793130 A JPH0793130 A JP H0793130A JP 5241855 A JP5241855 A JP 5241855A JP 24185593 A JP24185593 A JP 24185593A JP H0793130 A JPH0793130 A JP H0793130A
Authority
JP
Japan
Prior art keywords
data
entries
sorting
merging
merge
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
Application number
JP5241855A
Other languages
English (en)
Inventor
Tsugio Suzuki
次男 鈴木
Tadashi Sato
忠 佐藤
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.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP5241855A priority Critical patent/JPH0793130A/ja
Publication of JPH0793130A publication Critical patent/JPH0793130A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 並び替えに中間ワークを使用せず、直接テー
ブル上にソートマージさせることにより、処理能力低下
を防ぎ、バイナリサーチを使用可能とすること。 【構成】 第1のテーブルのデータと第2のテーブルの
データとを昇順または下降順にソートしてマージするソ
ートマージ方法において、第1のテーブルを第2のテー
ブルのデータエントリ数の整数倍のデータエントリで構
成したうえ、第1のテーブルのデータの先頭側にマージ
データ数分の空きエントリを確保した状態で、第1のテ
ーブルのデータと第2のテーブルのデータとのソートマ
ージデータを前記確保した第1のテーブルの空きエント
リから後尾側へ順次格納する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、処理中にデータエント
リが増大していくテーブルデータのソートマージ方法に
係り、特に、バイナリサーチを使用する大量のエントリ
を有するテーブルデータのソートマージ方法に関する。
【0002】
【従来の技術】従来、バイナリサーチを使用する大量の
エントリを有するテーブルデータのソートマージ方法と
して、図2〜図4に示す方法が知られている。
【0003】図2に示すテーブルデータのソートマージ
方法は、Aテーブル1にデータ2aを挿入する際、Aテ
ーブル1のデータとデータ2aとを中間ワーク3に一旦
ソートマージ出力し、その後、中間ワーク3からAテー
ブル1へ移動するものであり、この方法では、データ2
b〜2dが挿入される度に同様の操作が行われ、最終的
にはデータ群20で示されるデータに並べ替えられる。
【0004】図3に示すテーブルデータのソートマージ
方法は、新規データ5をBテーブル6に順次溜込み、A
テーブル1とBテーブル6のデータ同士をソートマージ
して中間ワーク3に出力し、Aテーブル1に移し替える
方法である。
【0005】この方法においては、図2の方法に比べる
と、Bテーブル6のエントリが満杯になったときだけ中
間ワーク3へのデータ移動が生じるので、Aテーブル1
のデータ操作回数がBテーブル6のデータエントリ数分
の1だけ少なくなる利点はある。
【0006】図4に示すテーブルデータのソートマージ
方法は、テーブルの先頭からデータ格納しているAテー
ブル1のデータとBテーブル6のデータとをソートマー
ジしたならば、それを中間ワーク3へ一旦出力し、その
後にAテーブル1へ移し替える方法である。
【0007】
【発明が解決しようとする課題】ところが、上記いずれ
の方法においても、ソートマージしたデータを中間ワー
クへ一旦出力し、その後にAテーブルへ移し替えるとい
った手法をとっているため、必ず中間ワークが必要にな
るうえ、データの移し替えが必要になるといった問題が
ある。また、Aテーブルのデータ量の増大に伴って同量
の中間ワークが必要になり、かつデータの移動処理時間
も増加し、処理能力を低下させる原因となるという問題
がある。
【0008】逆にデータの移し替えをせずにソートマー
ジする場合は、テーブルの後尾側にデータを順次追加し
て行くので、バイナリサーチを使用できないという問題
がある。
【0009】本発明の目的は、中間ワークを用いずにソ
ートマージされたテーブルデータを1つのテーブルに収
納し、かつバイナリサーチを使用することができるテー
ブルデータのソートマージ方法を提供することである。
【0010】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、第1のテーブルのデータと第2のテーブ
ルのデータとを昇順または下降順にソートしてマージす
るソートマージ方法において、第1のテーブルを第2の
テーブルのデータエントリ数の整数倍のデータエントリ
で構成したうえ、第1のテーブルのデータの先頭側にマ
ージデータ数分の空きエントリを確保した状態で、第1
のテーブルのデータと第2のテーブルのデータとのソー
トマージデータを前記確保した第1のテーブルの空きエ
ントリから後尾側へ順次格納することを特徴とする。
【0011】
【作用】上記手段によれば、第2のテーブルのデータを
第1のテーブルのデータとソートマージする時、ソート
マージデータを第1のテーブルのデータの先頭側に確保
した空きエントリから後尾側へ順次格納するので、第1
のテーブルの現在使用しているエントリの先頭側が中間
ワークの役割を果たすことになる。これによって、中間
ワークを必要とせずにソートマージされたテーブルデー
タを1つのテーブルに収納することができる。また、こ
のことから、処理中に増大していくテーブルデータに対
してもソートマージが可能となってバイナリサーチを使
用した高速検索が可能となる。
【0012】なお、先頭側の空きエントリが少なくなっ
た場合は、所定エントリ数以下になった時にのみ空きエ
ントリを確保する処理を行えばよい。
【0013】
【実施例】以下、本発明を図示する実施例に基づいて説
明する。
【0014】図1は、本発明のソートマージ方法の実施
例を示す説明図であり、Aテーブル1はBテーブル6の
n倍のブロックから構成されている。すなわち、Aテー
ブル1はBテーブル6のデータエントリ数の整数倍のデ
ータエントリで構成されている。そして、Aテーブル1
のデータの先頭側にマージデータ数分の空きエントリが
確保された状態で、Aテーブル1とBテーブル6のデー
タ同士をソートマージする際、その出力先をAテーブル
1のn−1ブロック目としている。
【0015】操作するデータ量はAテーブル1のnブロ
ック目のデータとBテーブル6のデータの合計である。
この場合、Aテーブル1の1ブロックのエントリ数はB
テーブル6のエントリ数と同じであるため、マージデー
タをAテーブル1の現在使用しているブロックの1つ前
のブロックn−1から出力することにより、図示のよう
にマージデータは1ブロック増加した状態で収納される
ことになる。
【0016】すなわち、Aテーブル1をBテーブル2の
エントリ数のn倍とし、データ開始位置を最終ブロック
nから先頭ブロック方向へと遡って使用していくことに
より、中間ワークを必要とせず、直接Aテーブル1上に
ソートマージできる。
【0017】従って、Aテーブル1の現在使用している
エントリブロックの1つ前のブロックが中間ワークの役
割を果たすことになる。これによって、中間ワークを必
要とせずにソートマージされたテーブルデータを1つの
Aテーブルに収納することができる。
【0018】また、このことから、処理中に増大してい
くテーブルデータに対してもソートマージが可能となっ
てバイナリサーチを使用した高速検索が可能となる。
【0019】なお、先頭側の空きエントリが少なくなっ
た場合は、所定エントリ数以下になった時にのみ空きエ
ントリを確保する処理を行うことになる。
【0020】
【発明の効果】以上説明したように本発明は、第1のテ
ーブルのデータと第2のテーブルのデータとを昇順また
は下降順にソートしてマージするソートマージ方法にお
いて、第1のテーブルを第2のテーブルのデータエント
リ数の整数倍のデータエントリで構成したうえ、第1の
テーブルのデータの先頭側にマージデータ数分の空きエ
ントリを確保した状態で、第1のテーブルのデータと第
2のテーブルのデータとのソートマージデータを前記確
保した第1のテーブルの空きエントリから後尾側へ順次
格納するので、中間ワークを用いずにソートマージされ
たテーブルデータを1つのテーブルに収納し、かつバイ
ナリサーチを使用した高速検索が可能になる。
【図面の簡単な説明】
【図1】本発明のソートマージ方法の実施例を示す説明
図である。
【図2】データ発生の都度ソートマージする従来方法の
説明図である。
【図3】新規データを第2のテーブルに一旦溜込み、そ
の後にソートマージする従来方法の説明図である。
【図4】テーブルの先頭からデータ格納しているテーブ
ル同志をソートマージする従来方法の説明図である。
【符号の説明】
1…Aテーブル、3…中間ワーク、6…Bテーブル。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 第1のテーブルのデータと第2のテーブ
    ルのデータとを昇順または下降順にソートしてマージす
    るソートマージ方法において、 第1のテーブルを第2のテーブルのデータエントリ数の
    整数倍のデータエントリで構成したうえ、第1のテーブ
    ルのデータの先頭側にマージデータ数分の空きエントリ
    を確保した状態で、第1のテーブルのデータと第2のテ
    ーブルのデータとのソートマージデータを前記確保した
    第1のテーブルの空きエントリから後尾側へ順次格納す
    ることを特徴とするテーブルデータのソートマージ方
    法。
JP5241855A 1993-09-28 1993-09-28 テーブルデータのソートマージ方法 Pending JPH0793130A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5241855A JPH0793130A (ja) 1993-09-28 1993-09-28 テーブルデータのソートマージ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5241855A JPH0793130A (ja) 1993-09-28 1993-09-28 テーブルデータのソートマージ方法

Publications (1)

Publication Number Publication Date
JPH0793130A true JPH0793130A (ja) 1995-04-07

Family

ID=17080518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5241855A Pending JPH0793130A (ja) 1993-09-28 1993-09-28 テーブルデータのソートマージ方法

Country Status (1)

Country Link
JP (1) JPH0793130A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999968B1 (en) * 2002-11-27 2006-02-14 Microsoft Corporation Fast merge into large ordered sets

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999968B1 (en) * 2002-11-27 2006-02-14 Microsoft Corporation Fast merge into large ordered sets

Similar Documents

Publication Publication Date Title
TW207013B (en) Architecture of optimal high-speed sorter
DE2856483A1 (de) Verbindungseinheit fuer datenverarbeitungssysteme
EP0877324A3 (en) Association rule generation and group-by processing system
EP1227405A3 (en) A method for providing a cache indexing scheme less susceptible to cache collisions
JPH0793130A (ja) テーブルデータのソートマージ方法
JPH01297723A (ja) ソート処理装置
ATE85714T1 (de) Hochgeschwindigkeits-rasterbildprozessor.
Jordan et al. Is the full potential of cellular manufacturing being achieved?
JPS607556A (ja) ジヨイン処理方式
JP2923952B2 (ja) マージ処理方法
JPS56111961A (en) Data file control device
JPH01288920A (ja) データソート装置
KR940005348B1 (ko) 데이터 분배방법 및 그 장치
JPH04101233A (ja) 2階層キュー構造によるタスク管理方法
JPH05189204A (ja) データ送信方式
JPH04286072A (ja) テーブル高速検索方式
JPH03192437A (ja) ストリングディレクトリソート併合方式
EP0377993A3 (en) Sorting distributed data
JP2889319B2 (ja) 図形描画装置
JPH02130629A (ja) 外部ソート算法
SU1183954A1 (ru) Устройство для сравнения двоичных чисел
JP3359931B2 (ja) トリーセレクションソート・エンジン
JPH0324629A (ja) タスク管理方法
JPH03290730A (ja) データの種別分類方式
Michaels Selecting and justifying advanced manufacturing technologies to obtain a competitive advantage.