PHP プロジェクト、1 つの関数がどんどん遅くなっている
怪我咯
怪我咯 2017-05-16 13:04:25
0
5
430

メンバーが増え続けるメンバーシップ テーブルがありますが、新しいメンバーが追加されるたびに、以前のメンバーに対するボーナスが一定のルールに従って計算されます。とにかくメンバーが増えると、その数も増えていきます。メンバーを追加すると、ますます遅くなります (より多くの計算が必要になります)。このシナリオにどう対処するか。

怪我咯
怪我咯

走同样的路,发现不同的人生

全員に返信(5)
我想大声告诉你

最初にメンバーを追加すると、月曜日に決済し、紹介テーブルを作成し、先週の関連情報を記録し、ボーナスを計算するスクリプトを一度実行するなど、特定の時間範囲に従ってボーナスが計算されます。一週間。

いいねを押す +0
巴扎黑

1. この決済は登録ステップ中に行われますか?その場合は、決済ステップを取り出し、テーブルまたはメッセージキューに書き込んで、登録プロセスを実行するだけです

2. しかし、毎日の決済に関する上記のコメントを見ると、ステップ 1 が完了し、今日参加したすべてのメンバーに対して決済プロセス全体が実行される必要があります (たとえば、午前 1 時)。 )決済が完了していれば大丈夫です。

いいねを押す +0
为情所困

テーブル構造が設計されているかどうか、インデックスが最適化できるかどうかを確認してください。などなど

いいねを押す +0
Peter_Zhu

決済を取り出して個別に実行します。計画されたタスクを作成し、毎日実行します。または、新規ユーザーの最初のログイン時に決済を書き込むこともできます。

いいねを押す +0
曾经蜡笔没有小新

この要件のために、メッセージキューを実行できます。
メンバー利益分配計算メッセージは、まずメッセージキューにプッシュされ、次にメッセージを受信するためのphpスクリプトが作成されてキャッシュにスローされ、毎日の営業時間外にデータベースに保存されます

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート