リアルタイムで変化する (毎日の) データは大量のデータ クエリから取得されているため、読み込みに時間がかかります。最適化する方法を教えてください。
たとえば、ユーザー テーブルにユーザー A がいます。彼は多くのメンバー A1、A2、A3..........An を招待しました、メンバー A1 は多くのメンバーを招待しました A11、A12、A13..........A1n
A2 は多くのメンバーを招待しましたメンバー A21、A22、A23、、、、、、、、、、、A2n など A の直接のメンバーは A1、A2、A3 などです。間接的なメンバーは A11、 A21....A21、A22....etc 各会員が購入すると、会員本人がリベートを受け取り、同時に上司が金額の一部をリベートし、関連データを挿入します。各ユーザーは、該当する会員からリベートを受け取ってから 7 日以内に現金を引き出すことができず、凍結された資金とみなされます。そのため、凍結された資金を計算する際には、注文を含む大量のデータを照会する必要があります。 7 日以内にメンバー自身が消費し、すべての直接メンバーと間接メンバーをユーザー テーブルから見つけてから、7 日以内の消費を見つける必要があるため、凍結された資金がページにリストされます。テーブル構造の設計と最適化の方法、または高速化するためのプログラムの設計と最適化の方法を教えてください
部下が上司を招待します (例: A22 が A を招待しました)
修正された事前順序トラバーサル (左右の値の事前ソート) アルゴリズムを使用してデータを整理できます
部下が上司を招待する状況がない限り、たとえば、A22 が A を招待しました
修正された事前順序トラバーサル (左右の値の事前ソート) アルゴリズムを使用してデータを整理できます
データを定期的に実行し、定期的に更新します。リアルタイムでロードしないでください。 計算のこの部分は独立したサーバーによって処理されます
インターネット上に多くの紹介がありますので、自分で検索してください
これ記事は非常に明確です http://blog.csdn.net/yaerfeng/article/details/8517479
データを定期的に実行します。リアルタイムでロードしません。この部分の計算は独立したサーバーによって処理されます。毎日消費があり、量が比較的多く、データは定期的に更新されるため、あるタイミングと次のタイミングの間に不正確なデータが存在します。 前処理 データが大きいため、リアルタイムの統計は作成しません。後で心配しないように、早めに計画を立てる必要があります
最も簡単な方法は、テーブルにフィールドを追加し、次のレイヤーのユーザー ID をカンマで区切って記録することです。これにより、クエリのレイヤーが 1 つ削減されます。