php - [id pid] 유형의 테이블 데이터, 각 ID에 대한 모든 하위 팀 수를 가져오면 데이터 볼륨이 2W를 초과합니다.
高洛峰
高洛峰 2017-05-16 13:01:11
0
1
1017

다음과 같은 [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에 도달하면 모든 데이터가 빠져나가 메모리가 가득 차게 됩니다.
좋은 해결 방법이 있습니까?

高洛峰
高洛峰

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

모든 응답(1)
给我你的怀抱

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

의 후손 수를 구하려면
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿