Hola, estoy desarrollando un sistema multinivel y quisiera saber como optimizar las consultas de la red de un usuario.
Supongamos que tengo la siguiente red:
Donde 2 y 3 son referidos directos de 1, o sea que conforman el 1º nivel de su red. A su vez 4 es referido de 2, por lo que 4 pertenece al primer nivel de la red de 2 y al segundo nivel de la red de 1. Y asi sucesivamente.
Mi consulta es como almacenar los datos para que la consulta a base para armar la red de una persona sea óptima, creo que lo ideal es traer todos los datos en 1 sola consulta pero no se me ocurre como hacerlo.
La idea es que me quede todo almacenado de la siguiente manera:
Como última aclaración les digo que la cantidad de niveles de la red es un número variable, en principio son 3 niveles pero podrian ser más o menos. Y la cantidad de personas por nivel también varia.
Espero se entienda y me puedan tirar una mano.