- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:3月1日に2回目の来店の人は3人だと表示する)
3月の来店者数と来店回数の表示方法について
このQ&Aのポイント
- 指定した月における日毎の来店者数と来店回数を表示する方法について検討しています。現在の方法では数万件以上のデータを処理するため、処理時間が長くなってしまっています。
- 現在の方法では、一時テーブルを作成し、副問合せを使用して処理を行っていますが、処理時間が1分近くかかってしまいます。
- Mysqlのバージョンが3系のため、副問合せを使用することができず、処理時間を短縮する方法を探しています。1~2秒程度で処理結果を表示する方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
結局序数を毎回計算しいるのでインデックスうまく活用しても 高速化はきびしいでしょうね 可能であれば以下のような対応がよろしいかと (1)compに序数をカウントするフィールドをあらかじめ設ける (2)別テーブルで序数データをカウントし、検索の際にJOINする その際にcompテーブルはデータを確定させるために primary keyのついたidフィールドを設定しておくことがのぞましい。 というか、リレーショナルなのですからprimaryはあってしかるべきです。 (1)の処理は、データ作成時点で過去データをひろって 追加すればよいですし、(2)なら、日次処理かなにかで、その日の データを別テーブルに追加記載していけばよいでしょう
お礼
回答ありがとうございます。 私のほうで色々試してみましたが、満足する処理時間になりませんでした。 やっぱり難しいですね。 結局 (1)で対処するようにしました。