찾다

 >  Q&A  >  본문

php - [id pid] 유형의 테이블 데이터, 각 ID에 대한 모든 하위 팀 수를 가져오면 데이터 볼륨이 2W를 초과합니다.

다음과 같은 [id pid] 유형의 데이터 테이블이 있습니다.

<코드>--- 아이디 --- pid ---
--- A --- B ---
--- A --- C ---
--- 비 --- 디 ---
--- BE ---
--- C --- F ---
--- C --- G ---

해당 구조:

<사전><코드>-D -이자형 -비 에이 -기음 -에프 -G

A, B, C, D, E, F, G(본인 포함)의 하위 팀 수를 계산하는 방법입니다.
예를 들어

팀 ID 번호
에이 7
비 3
C 3
디 1
전자 1
F 1
G 1

현재는 모든 데이터를 꺼내서 그런 데이터를 재귀적으로 얻고 있는데, 부하 직원이 있으면 팀 수를 재귀적으로 세어보겠습니다.

발생한 문제:
데이터 볼륨이 2W에 도달하면 모든 데이터가 빠져나가 메모리가 가득 차게 됩니다.
좋은 해결 방법이 있습니까?

高洛峰高洛峰2757일 전1021

모든 응답(1)나는 대답할 것이다

  • 给我你的怀抱

    给我你的怀抱2017-05-16 13:03:11

    단계별로 계산하면 전체 트리를 한 번에 꺼낼 필요가 없습니다.
    또한 통계를 위해 각 노드에 대해 경로를 기록할 수 있습니다. 예를 들어 '%A%'와 같이 계산(*)하면 됩니다. A

    의 후손 수를 구하려면

    회신하다
    0
  • 취소회신하다