現在 crm 統計関数に取り組んでおり、ユーザーに関連するさまざまなデータを保存するための関連テーブルを作成する必要があります。
例: その日に従業員によって追加された新規顧客の数を数えます。
まず、従業員の毎日の顧客数を保存する統計テーブルを設計します。
次に、従業員が顧客を追加すると、統計テーブルの対応するフィールドに 1 を追加します。顧客が削除されると、統計テーブルの対応するフィールドが 1 減ります。
これにより、1 を加算して 1 を減算する操作がトリガーされ、swoole を使用して非同期に実行されます。
最近、今週、今月、今四半期、今年の統計を集計する機能を追加する必要があります。
【日次統計表】は、【週次統計表】、【月次統計表】、【四半期統計表】、【年次統計表】に対応して4部コピーしました。
これら 5 つのテーブルのデータ構造は似ています。
私の現在の質問は:
1. 非同期トリガーを使用してユーザーの毎日の顧客数をカウントする以前の方法は最適ですか?他に良い方法はありますか?
2. 週次、月次、四半期、年次のデータをカウントする場合、[日次統計テーブル] から計算するか、これら 4 つのテーブルを直接構築するか、それとも非同期トリガーを使用して関連データを直接保存するのが良いでしょうか?
答えてくれる専門家はいますか?ありがとうございます
現在 crm 統計関数に取り組んでおり、ユーザーに関連するさまざまなデータを保存するための関連テーブルを作成する必要があります。
例: その日に従業員によって追加された新規顧客の数を数えます。
まず、従業員が毎日持つ顧客の数を保存する統計テーブルを設計します。
次に、従業員が顧客を追加すると、統計テーブルの対応するフィールドに 1 を追加します。顧客が削除されると、統計テーブルの対応するフィールドが 1 減ります。
これにより、1 を加算して 1 を減算する操作がトリガーされ、swoole を使用して非同期に実行されます。
最近、今週、今月、今四半期、今年の統計を集計する機能を追加する必要があります。
【日次統計表】は、【週次統計表】、【月次統計表】、【四半期統計表】、【年次統計表】に対応して4部コピーしました。
これら 5 つのテーブルのデータ構造は似ています。
私の現在の質問は:
1. 非同期トリガーを使用してユーザーの毎日の顧客数をカウントする以前の方法は最適ですか?他に良い方法はありますか?
2. 週次、月次、四半期、年次のデータをカウントする場合、[日次統計テーブル] から計算するか、これら 4 つのテーブルを直接構築するか、それとも非同期トリガーを使用して関連データを直接保存するのが良いでしょうか?
答えてくれる専門家はいますか?ありがとうございます
顧客は何人いますか? 100 万レベル以下であれば、私がやっているのであれば、テーブルに保存しておけば済みます。テーブルには 2 つのフィールドがあり、1 つは created_at
,一个叫deleted_at
と呼ばれ、両方とも datetime 型であり、これら 2 つのフィールドにはインデックスが付けられます。
将来的には、統計を行うときにリアルタイムでクエリを実行できるようになり、その速度は 100 万レベル未満で非常に高速になり、必要な範囲をチェックできるようになります。データの量に関係なく、キャッシュを追加するとパフォーマンスの問題を簡単に解決できます。これを行うために多くのテーブルを作成するには複雑すぎるため、利益が損失を上回ります