php - [id pid] 型テーブルデータ、idごとに全サブチーム数を取得、データ量は2W以上。
高洛峰
高洛峰 2017-05-16 13:01:11
0
1
1031

次のような [id pid] タイプのデータ テーブルがあります。

--- id --- pid ---
--- A --- B ---
--- A --- C ---
--- B --- D ---
 - - なれ  - -
--- C --- F ---
--- C --- G ---

対応する構造:

-D
        -E
    -B
あ
    -C
        -F
        - G

A、B、C、D、E、F、G (自分を含む) の配下チームの数を数える方法。
たとえば

id チーム数
A7
B3
C3
D1
E1
F1
G 1

現在、すべてのデータを取り出して再帰的に取得しており、部下がいる場合はチームの数を再帰的にカウントします。

発生した問題:
データ量が 2W に達すると、すべてのデータが取り出され、メモリがいっぱいになります
何か良い解決策はありますか?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(1)
给我你的怀抱

段階的にカウントするため、ツリー全体を一度に取り出す必要はありません。
さらに、統計のために、たとえば「%A%」のようにカウント (*) するだけで済みます。 A

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