Hay una muy buena descripción de la gestión de datos jerárquicos en mysql aquí:gestión de datos jerárquicos datos Aquí hay otro buen ejemplo de creación de matrices anidadas:construcción de matrices anidadas
Puede pensar en usar el modelo de conjuntos anidados. Si va a consultar muchas cosas, es mejor que el modelo de adyacencia que está utilizando en este momento.
Espero que ayude.