1234 555
というレコードがあって、追加レコードで
1234 666
があった場合に、
吐き出すファイルの中身を
ファイルA;
1234 555,666
とするのと
ファイルB;
1234 555
1234 666
とするのではファイルBのほうが処理やパフォーマンスはいいのでしょうか?
最終的に、ファイルの中身を取り出して、ファイルAのように
555,666と繋げたいのですが、書き込む時に全件調べて
くっつける方法がいいのか、処理で仕様するときだけ
確認してくっつけたほうがいいのかわかりますか?
555,666とくっつける場合は、最大で31件です。
ですが追加していくレコードは制限がありません。
どちらがいいかわかりますかね?
正直なところどちらもたいした差がないようにも思いますが、
書き込み(追加)処理と表示処理の回数を比べて、
・表示の方が多ければA
・書き込みの方が多ければB
ではないでしょうか。
1.書き込みのパフォーマンスを優先する場合は
ファイルBの方式と思います。
2.書き込み時のパフォーマンスは遅くても良くて、
データの整形後の読み込み時のパフォーマンスを優先する
場合はファイルAと思います。
3.バッチ処理など、書き込みから読み込みまで一連の
流れでのパフォーマンスの場合は、以下の流れの処理
を考えます。
a) ファイルBで書き出し
b) OSのソート機能で先頭4バイトでソート
c) ソート後、先頭からデータを読み出して整形
となりますので、ファイルB ということになると思います。
やはり溜め込み式ですね。
ありがとうございます。
なるほど。
ファイル抽出はCronで一ヶ月に一回なので
追加で溜め込んだほうがよさそうですね。