PHPで、ファイルに書き込むときの処理で

1234 555
というレコードがあって、追加レコードで
1234 666
があった場合に、
吐き出すファイルの中身を
ファイルA;
1234 555,666
とするのと
ファイルB;
1234 555
1234 666
とするのではファイルBのほうが処理やパフォーマンスはいいのでしょうか?

最終的に、ファイルの中身を取り出して、ファイルAのように
555,666と繋げたいのですが、書き込む時に全件調べて
くっつける方法がいいのか、処理で仕様するときだけ
確認してくっつけたほうがいいのかわかりますか?
555,666とくっつける場合は、最大で31件です。
ですが追加していくレコードは制限がありません。

どちらがいいかわかりますかね?

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2006/09/01 10:12:09
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:b-wind No.1

回答回数3344ベストアンサー獲得回数440

ポイント35pt

正直なところどちらもたいした差がないようにも思いますが、

書き込み(追加)処理と表示処理の回数を比べて、

・表示の方が多ければA

・書き込みの方が多ければB

ではないでしょうか。

id:hopefully

なるほど。

ファイル抽出はCronで一ヶ月に一回なので

追加で溜め込んだほうがよさそうですね。

2006/09/01 10:10:57
id:saphil No.2

回答回数36ベストアンサー獲得回数3

ポイント35pt

1.書き込みのパフォーマンスを優先する場合は

  ファイルBの方式と思います。

2.書き込み時のパフォーマンスは遅くても良くて、

  データの整形後の読み込み時のパフォーマンスを優先する

  場合はファイルAと思います。

3.バッチ処理など、書き込みから読み込みまで一連の

  流れでのパフォーマンスの場合は、以下の流れの処理

  を考えます。

   a) ファイルBで書き出し

   b) OSのソート機能で先頭4バイトでソート

   c) ソート後、先頭からデータを読み出して整形

  となりますので、ファイルB ということになると思います。

id:hopefully

やはり溜め込み式ですね。

ありがとうございます。

2006/09/01 10:11:58

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません