JP2000010760A - ソート処理方式,方法およびソート処理プログラムを記録した記録媒体 - Google Patents
ソート処理方式,方法およびソート処理プログラムを記録した記録媒体Info
- Publication number
- JP2000010760A JP2000010760A JP10175726A JP17572698A JP2000010760A JP 2000010760 A JP2000010760 A JP 2000010760A JP 10175726 A JP10175726 A JP 10175726A JP 17572698 A JP17572698 A JP 17572698A JP 2000010760 A JP2000010760 A JP 2000010760A
- Authority
- JP
- Japan
- Prior art keywords
- sort
- area
- records
- record
- sorted
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
処理を高速化する。 【解決手段】レコードをソートキーとその他部分に分割
するレコード分割手段10と、ソートキーを格納する第
1のエリア,その他部分を格納する第2のエリアを備え
た主記憶装置5と、第2のエリアが一杯になった都度、
又は全レコード入力終了時に第1のエリアをソートし、
ソート結果出力時は、ワークファイル4より各ソート中
間結果の先頭レコードから第2のエリアに読込み、第1
のエリアのソートキー群をマージしてソート結果を決定
するソート主処理手段1と、第2のエリアのデータを第
1のエリアのソートキーと対応付けてソート順に取出し
ソート中間結果としてワークファイル4に書出すととも
に、マージ結果の勝者ソートキーと対応するその他部分
のデータを結合しソート結果として出力ファイル3に出
力するレコードリンク手段9とを有する。
Description
方法およびソート処理プログラムを記録した記録媒体に
関し、特に全ての入力データを主記憶装置内に一度に読
み込むことのできない場合にワークファイルを用いてソ
ートするソート処理方式,方法およびソート処理プログ
ラムを記録した記録媒体に関する。
に一度に読み込むことのできない場合に、ワークファイ
ルを用いてソートするソート処理方式においては、ソー
トすべきレコードを主記憶装置のソートメモリ領域に格
納する際、レコードを分割せずそのまま格納し、ソート
の中間結果としてレコードを並び替えたものをワークフ
ァイルへ出力していた。
示されるソート処理方式においては、ソート中間結果の
順序付けられたレコード列であるストリングが1本のと
きは、主記憶装置のソートメモリ領域に入りきれなかっ
た分だけをワークファイルに出力し、ストリングが2本
以上のときは、全てのレコードをワークファイルに出力
することが記載されている。そして、この公報に記載の
ソート処理方式においても、ソートすべきレコードを主
記憶装置のソートメモリ領域に格納する際は、レコード
を分割せずそのまま格納しており、また、主記憶装置の
ソートメモリ領域からワークファイルに出力するとき
も、レコードを分割せずそのまま出力している。
の技術においては、次のような問題がある。
トメモリ領域の広範囲にランダムにメモリアクセスが発
生するため、データキャッシュヒット率が低くなること
によりソート処理効率が悪くなることである。
レコードを出力するため、ワークファイルの使用量が増
え、データの転送量が多くなってソート処理を高速に行
なうことができないことである。
処理方式,方法およびソート処理プログラムを記録した
記録媒体を提供することを目的とする。
理方式は、ソート対象のレコードを主記憶装置内に一度
に読み込むことのできない場合に、ワークファイルを用
いてソートするソート処理方式であって、前記主記憶装
置のメモリ領域に第1のエリアと第2のエリアとを設
け、入力時に前記ソート対象のレコードをソートキー部
分とその他の部分とに分割し、前記ソートキー部分を前
記第1のエリアに、前記その他の部分を前記第2のエリ
アにそれぞれ格納することを特徴とする。
対象のレコードを主記憶装置内に一度に読み込むことの
できない場合に、ワークファイルを用いてソートするソ
ート処理方式であって、前記主記憶装置のメモリ領域に
第1のエリアと第2のエリアとを設け、入力時に前記ソ
ート対象のレコードをソートキー部分とその他の部分と
に分割し、前記ソートキー部分を前記第1のエリアに、
前記その他の部分を前記第2のエリアにそれぞれ格納
し、前記第2のエリアが一杯になった都度、または全て
のレコードの入力が終了したときに、前記第1のエリア
に格納されたソートキー部分をソートすることを特徴と
する。
対象のレコードを主記憶装置内に一度に読み込むことの
できない場合に、ワークファイルを用いてソートするソ
ート処理方式であって、前記主記憶装置のメモリ領域に
第1のエリアと第2のエリアとを設け、入力時に前記ソ
ート対象のレコードをソートキー部分とその他の部分と
に分割し、前記ソートキー部分を前記第1のエリアに、
前記その他の部分を前記第2のエリアにそれぞれ格納
し、前記第2のエリアが一杯になった都度、または全て
のレコードの入力が終了したときに、前記第1のエリア
に格納されたソートキー部分をソートした後、前記第2
のエリアのその他の部分のデータを前記第1のエリアの
ソートキー部分と対応付けてソート順に取りだし、前記
ソート順に取りだした第2のエリアのその他の部分をソ
ート中間結果としてワークファイルに書き出すととも
に、ソート結果の出力時には、前記ソート中間結果を前
記ソートキー部分と対応付けて結合し出力することを特
徴とするソート処理方式。
の第3のソート処理方式において、1回で全てのレコー
ドがソートされた場合は、前記第2のエリアのその他の
部分のデータを前記第1のエリアのソートキー部分と対
応付けてソート順に取りだし、前記ワークファイルへの
書き出しを行うことなく、そのままソート結果として出
力ファイルに出力することを特徴とする。
れたレコードをソートキー部分とその他の部分とに分割
して主記憶装置に格納するレコード分割手段と、前記レ
コードのソートキー部分を格納する第1のエリアと、前
記その他の部分を格納する第2のエリアとを備えた主記
憶装置と、前記第2のエリアが一杯になった都度、また
は全てのレコードの入力が終了したときに、前記第1の
エリアに格納されたソートキー部分をソートし、ソート
結果の出力時は、ワークファイルより各ソート中間結果
の先頭レコードから前記第2のエリアに読み込むととも
に、前記第1のエリア内のソートされたソートキー群ど
うしをマージして最終ソート結果を決定するソート主処
理手段と、前記ソート主処理手段によるソート後、前記
第2のエリアのその他の部分のデータを前記第1のエリ
アのソートキー部分と対応付けてソート順に取りだし、
ソート中間結果として前記ワークファイルに書き出すと
ともに、前記マージの結果、勝者となったソートキーと
これに対応するソートキー以外のデータを結合し、ソー
ト結果として出力ファイルへ出力するレコードリンク手
段と、前記ソート中間結果を格納するためのワークファ
イルとを有することを特徴とする。
レコードを入力する主記憶装置のメモリ領域に第1のエ
リアと第2のエリアとを設け、入力時に前記レコードを
ソートキー部分とその他の部分とに分割し、前記ソート
キー部分を前記第1のエリアに、前記その他の部分を前
記第2のエリアにそれぞれ格納する第1の処理と、前記
第2のエリアが一杯になった都度、または全てのレコー
ドの入力が終了したときに、前記第1のエリアに格納さ
れたソートキー部分をソートする第2の処理と、前記第
2の処理におけるソート後、前記第2のエリアのその他
の部分のデータを前記第1のエリアのソートキー部分と
対応付けてソート順に取りだす第3の処理と、前記ソー
ト順に取りだした第2のエリアのその他の部分をソート
中間結果としてワークファイルに書き出す第4の処理
と、ソート結果の出力時には、前記ソート中間結果を前
記ソートキー部分と対応付けて結合し出力する第5の処
理とを有することを特徴とする。
ドを入力する主記憶装置のメモリ領域に第1のエリアと
第2のエリアとを設け、入力時に前記レコードをソート
キー部分とその他の部分とに分割し、前記ソートキー部
分を前記第1のエリアに、前記その他の部分を前記第2
のエリアにそれぞれ格納する第1の処理と、前記第2の
エリアが一杯になった都度、または全てのレコードの入
力が終了したときに、前記第1のエリアに格納されたソ
ートキー部分をソートする第2の処理と、前記第2の処
理におけるソート後、前記第2のエリアのその他の部分
のデータを前記第1のエリアのソートキー部分と対応付
けてソート順に取りだす第3の処理と、前記ソート順に
取りだした第2のエリアのその他の部分をソート中間結
果としてワークファイルに書き出す第4の処理と、ソー
ト結果の出力時には、前記ソート中間結果を前記ソート
キー部分と対応付けて結合し出力する第5の処理とをコ
ンピュータに実行させるためのソート処理プログラムを
記録したことを特徴とする。
を参照して詳細に説明する。
すブロック図であり、ソート主処理手段1と、ソート対
象レコードが入っている入力ファイル2と、ソート結果
を出力するための出力ファイル3と、ソートの中間結果
を格納するためのワークファイル4と、主記憶装置5
と、入力ファイル2からレコードを読み出すレコード入
力手段6と、ソート結果を出力ファイル3に出力するレ
コード出力手段7と、ソート中間結果をワークファイル
4へ書き出すとともに、ワークファイル4からソート中
間結果を読み出すワークファイル入出力手段8と、ソー
トキーとソートキー以外のデータとを対応付けるレコー
ドリンク手段9と、入力レコードをソートキー部分とそ
れ以外の部分とに分割するレコード分割手段10とを含
む。
1が備えられ、ソートメモリ51には、全入力レコード
のソートキーを入力するソートキーエリア511と、ソ
ートキー以外の入力データを入力するワークエリア51
2とが設けられている。
6を用いて、入力ファイル2より入力レコードを順次入
力し、レコード分割手段10を用いて、入力レコードを
ソートキーとそれ以外の部分とに分割し、ソートキーエ
リア511とワークエリア512にそれぞれ格納する。
ワークエリア512が一杯になると、ソート主処理手段
1は、ソートキーエリア511内のソートキーをソート
する。
理手段1は、レコードリンク手段9を用いて、ワークエ
リア512内のソートキー以外のデータをソートキーエ
リアのソート結果順に取り出し、ワークファイル入出力
手段8を用いてワークファイル4にソート中間結果とし
て書き出す。
結果を作成後、ソート主処理手段1は、ワークファイル
4よりワークファイル入出力手段8を用いて、各ソート
中間結果の先頭レコードからワークエリア512に読み
込む。同時に、ソートキーエリア内のソートされたソー
トキー群どうしをマージし、最終ソート結果を決定し、
レコードリンク手段9を用いて、勝者となったソートキ
ーとこれに対応するソートキー以外のデータを結合し、
レコード出力手段7を用いて出力ファイル3に出力して
いく。
て図1および図2を用いて詳細に説明する。図2は、本
発明の一実施の形態の動作を示すフローチャートであ
る。
力手段6を用いて、入力ファイル2から最初の1レコー
ドを入力する(図2のステップA1)。
分割手段10を用いて、入力ファイル2から入力された
レコードをソートキーとそれ以外の部分に分割し、ソー
トキーはソートキーエリア511に、それ以外の部分は
ワークエリア512に格納する(ステップA2)。
ル2に含まれる全てのレコードの入力が終了したかを、
レコード分割手段10を参照して判断する(ステップA
3)。
1は、未入力レコードがあった場合には、続いてワーク
エリア512が一杯になったかをレコード分割手段10
に検出させ、一杯になっていなかった場合には、ステッ
プA1に戻り次のレコードを入力する(ステップA
4)。
力が終了した場合、またはステップA4においてワーク
エリア512が一杯になっていた場合には、ソート主処
理手段1は、ソートキーエリア511に格納されている
ソートキーをソートする(ステップA5)。
イル2に含まれる全てのレコードの入力が終了している
かを再度確認する(ステップA6)。
いた場合には、ソート主処理手段1はワークファイル入
出力手段8を参照し、ワークファイルへの書き出しがさ
れているかを検出する(ステップA7)。
の書き出しがされていなかった場合、すなわち、入力フ
ァイル2から入力される全レコードを主記憶装置5内に
一度に読み込むことができた場合には、ソート主処理手
段1は、レコードリンク手段9を用いて、ワークエリア
512に格納されているソートキー以外のデータをソー
ト順に取り出し、レコード出力手段7を用いて出力ファ
イル3にソート結果として書き出すことにより、ソート
処理を終了する(ステップA8)。
ードの入力が終了していなかった場合、または、ステッ
プA7において、ワークファイルへの書き出しがされて
いた場合には、ソート主処理手段1は、レコードリンク
手段9を用いて、ワークエリア512に格納されている
ソートキー以外のデータをソート順に取り出し、ワーク
ファイル入出力手段8を用いてワークファイル4にソー
ト中間結果として書き出す(ステップA9)。
レコードについて行う(ステップA10)。
ァイル入出力手段8を用いて、各ソート中間結果の先頭
レコードをワークファイル4からワークエリア512に
読み込む(ステップA11)。
511内のソートされたソートキー群どうしをマージ
し、勝者ソートキー(最終ソート結果)を決定する(ス
テップA12)。
ンク手段9を用いて、勝者となったソートキーと、これ
に対応するステップA11で読み込まれたワークエリア
512上のソートキー以外のデータを結合し(ステップ
A13)、これを勝者レコードとしてレコード出力手段
7を用いて出力ファイル3に出力する(ステップA1
4)。
トキーエリア以外のデータが属していたワークファイル
4上のソート中間結果から、次のレコードを、ワークエ
リア512上の勝者データが存在していたエリアに入力
する(ステップA16)。
が終了するまで、ステップA12〜A16を繰り返す
(ステップA15)。
面を参照して説明する。
示すブロック図であり、コンピュータ11と、記録媒体
12とから構成される。コンピュータ11の構成は、図
1の本発明の一実施の形態で説明したものと基本的に同
じである。記録媒体12は、ソート処理プログラムを記
録している。この記録媒体12は、磁気ディスク,光記
録ディスク,半導体メモリその他の記録媒体であっても
よい。ソート処理プログラムは、記録媒体12からコン
ピュータ11に読み込まれ、本発明の一実施の形態と同
様の動作を制御する。
記憶装置のソートメモリをソートキーエリアとワークエ
リアに分割し、ソートキーをソートキーエリアに集める
ようにしたため、広範囲にメモリアクセスが入らずキャ
ッシュヒット率が高くなることである。
のソートキー部分を出力しないようにしたため、ワーク
ファイルの使用量が減ってデータの転送量が減る結果、
ソート処理を高速に実行できるようになることである。
である。
ートである。
図である。
Claims (7)
- 【請求項1】 ソート対象のレコードを主記憶装置内に
一度に読み込むことのできない場合に、ワークファイル
を用いてソートするソート処理方式であって、前記主記
憶装置のメモリ領域に第1のエリアと第2のエリアとを
設け、入力時に前記ソート対象のレコードをソートキー
部分とその他の部分とに分割し、前記ソートキー部分を
前記第1のエリアに、前記その他の部分を前記第2のエ
リアにそれぞれ格納することを特徴とするソート処理方
式。 - 【請求項2】 ソート対象のレコードを主記憶装置内に
一度に読み込むことのできない場合に、ワークファイル
を用いてソートするソート処理方式であって、前記主記
憶装置のメモリ領域に第1のエリアと第2のエリアとを
設け、入力時に前記ソート対象のレコードをソートキー
部分とその他の部分とに分割し、前記ソートキー部分を
前記第1のエリアに、前記その他の部分を前記第2のエ
リアにそれぞれ格納し、前記第2のエリアが一杯になっ
た都度、または全てのレコードの入力が終了したとき
に、前記第1のエリアに格納されたソートキー部分をソ
ートすることを特徴とするソート処理方式。 - 【請求項3】 ソート対象のレコードを主記憶装置内に
一度に読み込むことのできない場合に、ワークファイル
を用いてソートするソート処理方式であって、前記主記
憶装置のメモリ領域に第1のエリアと第2のエリアとを
設け、入力時に前記ソート対象のレコードをソートキー
部分とその他の部分とに分割し、前記ソートキー部分を
前記第1のエリアに、前記その他の部分を前記第2のエ
リアにそれぞれ格納し、前記第2のエリアが一杯になっ
た都度、または全てのレコードの入力が終了したとき
に、前記第1のエリアに格納されたソートキー部分をソ
ートした後、前記第2のエリアのその他の部分のデータ
を前記第1のエリアのソートキー部分と対応付けてソー
ト順に取りだし、前記ソート順に取りだした第2のエリ
アのその他の部分をソート中間結果としてワークファイ
ルに書き出すとともに、ソート結果の出力時には、前記
ソート中間結果を前記ソートキー部分と対応付けて結合
し出力することを特徴とするソート処理方式。 - 【請求項4】 請求項3において、1回で全てのレコー
ドがソートされた場合は、前記第2のエリアのその他の
部分のデータを前記第1のエリアのソートキー部分と対
応付けてソート順に取りだし、前記ワークファイルへの
書き出しを行うことなく、そのままソート結果として出
力ファイルに出力することを特徴とするソート処理方
式。 - 【請求項5】 入力されたレコードをソートキー部分と
その他の部分とに分割して主記憶装置に格納するレコー
ド分割手段と、 前記レコードのソートキー部分を格納する第1のエリア
と、前記その他の部分を格納する第2のエリアとを備え
た主記憶装置と、 前記第2のエリアが一杯になった都度、または全てのレ
コードの入力が終了したときに、前記第1のエリアに格
納されたソートキー部分をソートし、ソート結果の出力
時は、ワークファイルより各ソート中間結果の先頭レコ
ードから前記第2のエリアに読み込むとともに、前記第
1のエリア内のソートされたソートキー群どうしをマー
ジして最終ソート結果を決定するソート主処理手段と、 前記ソート主処理手段によるソート後、前記第2のエリ
アのその他の部分のデータを前記第1のエリアのソート
キー部分と対応付けてソート順に取りだし、ソート中間
結果として前記ワークファイルに書き出すとともに、前
記マージの結果、勝者となったソートキーとこれに対応
するソートキー以外のデータを結合し、ソート結果とし
て出力ファイルへ出力するレコードリンク手段と、 前記ソート中間結果を格納するためのワークファイルと
を有することを特徴とするソート処理方式。 - 【請求項6】 ソート対象のレコードを入力する主記憶
装置のメモリ領域に第1のエリアと第2のエリアとを設
け、入力時に前記レコードをソートキー部分とその他の
部分とに分割し、前記ソートキー部分を前記第1のエリ
アに、前記その他の部分を前記第2のエリアにそれぞれ
格納する第1の処理と、 前記第2のエリアが一杯になった都度、または全てのレ
コードの入力が終了したときに、前記第1のエリアに格
納されたソートキー部分をソートする第2の処理と、 前記第2の処理におけるソート後、前記第2のエリアの
その他の部分のデータを前記第1のエリアのソートキー
部分と対応付けてソート順に取りだす第3の処理と、 前記ソート順に取りだした第2のエリアのその他の部分
をソート中間結果としてワークファイルに書き出す第4
の処理と、 ソート結果の出力時には、前記ソート中間結果を前記ソ
ートキー部分と対応付けて結合し出力する第5の処理と
を有することを特徴とするソート処理方法。 - 【請求項7】 ソート対象のレコードを入力する主記憶
装置のメモリ領域に第1のエリアと第2のエリアとを設
け、入力時に前記レコードをソートキー部分とその他の
部分とに分割し、前記ソートキー部分を前記第1のエリ
アに、前記その他の部分を前記第2のエリアにそれぞれ
格納する第1の処理と、 前記第2のエリアが一杯になった都度、または全てのレ
コードの入力が終了したときに、前記第1のエリアに格
納されたソートキー部分をソートする第2の処理と、 前記第2の処理におけるソート後、前記第2のエリアの
その他の部分のデータを前記第1のエリアのソートキー
部分と対応付けてソート順に取りだす第3の処理と、 前記ソート順に取りだした第2のエリアのその他の部分
をソート中間結果としてワークファイルに書き出す第4
の処理と、 ソート結果の出力時には、前記ソート中間結果を前記ソ
ートキー部分と対応付けて結合し出力する第5の処理と
をコンピュータに実行させるためのソート処理プログラ
ムを記録したことを特徴とする記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17572698A JP3309803B2 (ja) | 1998-06-23 | 1998-06-23 | ソート処理方式,方法およびソート処理プログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17572698A JP3309803B2 (ja) | 1998-06-23 | 1998-06-23 | ソート処理方式,方法およびソート処理プログラムを記録した記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000010760A true JP2000010760A (ja) | 2000-01-14 |
JP3309803B2 JP3309803B2 (ja) | 2002-07-29 |
Family
ID=16001172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17572698A Expired - Fee Related JP3309803B2 (ja) | 1998-06-23 | 1998-06-23 | ソート処理方式,方法およびソート処理プログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3309803B2 (ja) |
-
1998
- 1998-06-23 JP JP17572698A patent/JP3309803B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3309803B2 (ja) | 2002-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0487331B1 (en) | Directory management system | |
US20050138090A1 (en) | Method and apparatus for performing a backup of data stored in multiple source medium | |
CN108197433A (zh) | 快速dna测序数据分析平台的数据内存和硬盘分流存储方法 | |
JP3515810B2 (ja) | ソート処理方法および装置 | |
JP3309803B2 (ja) | ソート処理方式,方法およびソート処理プログラムを記録した記録媒体 | |
JP2000501872A (ja) | 処理システムおよび情報をram構体で読取りおよび再生する方法 | |
JP2822869B2 (ja) | ライブラリファイル管理装置 | |
JP3278637B2 (ja) | ログファイルのメンテナンス装置および方法 | |
JPH04336638A (ja) | システム稼働中のディスク交換方式 | |
JP3650992B2 (ja) | 情報記録方法とそれに用いる情報記録システム | |
JP3293551B2 (ja) | ソート処理方法 | |
JP3871971B2 (ja) | 外形線抽出装置,方法およびプログラム | |
JP2605476B2 (ja) | ダンプ採取処理方法 | |
JPS61283963A (ja) | フアイル検索装置 | |
JPH05120064A (ja) | トレース採取方式 | |
JPH0262624A (ja) | 磁気ディスク装置のvtoc復旧装置 | |
JPH01147720A (ja) | 分類処理方式 | |
JPH0395787A (ja) | デジタル音楽情報の処理装置 | |
JPS62277680A (ja) | 画像情報記憶検索装置におけるコピ−方法 | |
JP2000330844A (ja) | データ記録方法および装置 | |
JPH08235044A (ja) | ジャーナル検索方式 | |
JPH0573621A (ja) | 時系列データ処理方式 | |
JPH0145648B2 (ja) | ||
JPH0594352A (ja) | データベース復旧方式 | |
JPS63175269A (ja) | 情報再配列記録方法 |
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: 20020423 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090524 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100524 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110524 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110524 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120524 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |