PHPでクイズのプログラムを作ったのですが、
CSVデータの件数が多いので処理に時間がかかり、
回答の集計で困ってます。
具体的に、
PHPクイズの回答をCSV形式でanswer.txtに記録させます。
記録の内容は、
問題1の回答番号、問題2の回答番号、問題3の回答番号、
というように記録させます。
このとき、1万件くらいの回答データが入ったanswer.txtから、
問題1で回答番号を1で答えた人の数、2で答えた人の数というように、
データの集計をしたいのですが、
効率の良い集計方法を教えていただければありがたいです。
自分が考えたのは、
1.file文で全行一括読み込みしてから
2.for文でデータを検証(総データ数分だけ繰り返す)
3.回答番号が一致したら、flagに+1をする
4.flagの数が集計結果となり、これを出力する
というルーチンです。
1万件くらいになると、あまり速くないです。
ちなみに、このルーチンで処理できるデータ件数って、
どのくらいが限度となるんでしょうか。
文章が稚拙で、長くなってしまい、すみません。
よろしくご指導、お願いします。
No.2ベストアンサー
- 回答日時:
予め集計結果のファイルや途中結果を別にどっかへ置いておけばいいんじゃないですかね?
回答時にanswer.txtへ保存するのと同じでtotal.txtを作っちゃうとか。
バックグラウンド処理でたまに集計させておくとか。
データベースを使っても同じことが言えますが、予め集計しておいた方が早くなると思います。
>ちなみに、このルーチンで処理できるデータ件数って、
>どのくらいが限度となるんでしょうか。
遅いと思ったときはすでに限度だと思います。
HTMLを表示する時に3秒待たされると遅いって思うらしいですよ。
No.3
- 回答日時:
単純に見る人が多いだけなら、pear/Cache なんかで、キャッシングしてしまうのもアリかと。
集計ファイルを前もって作るよりは安直ですが、キャッシュをフラッシュするタイミングで遅くはなります。
あくまで閲覧者が多いと言う条件でなら有効です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 統計学 前回イベントと今回イベントのデータ集計について 質問させてください。 イベント参加者の内アンケートを 3 2022/09/30 22:23
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
- 宇宙科学・天文学・天気 AIが答えた方程式 1 2023/02/20 00:12
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- ソフトウェア データ入力のインターフェースについて 2 2022/09/27 09:07
- その他(データベース) 20万行あるデータを動かしたい 2 2023/06/13 15:21
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
キャッシュとバッファの違いは?
-
VB.netのADOってなんですか?
-
SQL Server にファイルを登録、...
-
エクセルでのテプララベル作成
-
スタライズとは、どういう意味...
-
CSVファイルの重複チェック
-
Perlで、「が」を、「...
-
AccessとOpenOffice:Baseの互換
-
CD-Rに入っているはずのデータ...
-
電話番号から住所、名称(法人...
-
自作Androidアプリのデータ引き...
-
データベースの2GBって・・・?
-
型 varchar から型 numeric へ...
-
希望の位置へフィールドを追加...
-
構文エラー:演算子がありませ...
-
ACCESS2019でのエラーメッセージ
-
データベースとウェブ(WWW)の共...
-
CSEでDB接続しようとすると...
-
Notes って 何が良くて使うの...
-
アクセスの日付/時刻型で標準...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.netのADOってなんですか?
-
キャッシュとバッファの違いは?
-
SQL Server にファイルを登録、...
-
スタライズとは、どういう意味...
-
値がこの列の整合性制約に違反...
-
CSVファイルの重複チェック
-
LVMでHDDが壊れた時の対応
-
Access 外部データ インポー...
-
ホームページ上のCSVファイルを...
-
エクセルから、パワーポイント...
-
エクセルを取引先に渡したら何...
-
GerberデータからBmpデータへの...
-
flutterで、データを共有する方...
-
エクセルでのテプララベル作成
-
エクセルのマクロ
-
VBA 連続する名前ごとに集計
-
自作Androidアプリのデータ引き...
-
Accessでタブ区切りのテキスト...
-
EXCELの最大データ数
-
UNIX時間をEXCEL上で日付・時間...
おすすめ情報