現在、私はこれを行っていました:
tracking_log
ユーザーがアプリを使用するたびに行を挿入するテーブルがあります。この表を使用して、私たちに固執し、ソフトウェアを使用し続けているユーザーを計算します。
これは正常に機能していました。しかし、次の項目のアクティブ ユーザー数も確認したいと思います。
- 発売以来毎日
- 発売以来の週ごとの
- 発売以来の月ごと。
テーブル構造は次のようなものです。
tracking_log
- user_id (integer, pk)
- when_used (timestamp)
- event (event-type triggered by user. Kept for future usage.)
「d1 日のアクティブ ユーザー」の定義: (d1-15) 日より前にサインアップし、(d1-7) 日以内に製品を使用したユーザー。
tracking_log テーブルには、約 500K のレコードとカウントがあります。上記の数値を計算するために MySQL クエリを作成していましたが、非常に遅いことがわかりました。
それを実装する最良の方法は何ですか?このようなレポートをより少ない労力で生成する既存のソリューションはありますか?