Essayez d'utiliser un modèle d'ensemble imbriqué. Il est décrit dans Gestion des données hiérarchiques dans MySQL .
Le gros avantage est que vous n'avez pas besoin d'utiliser la récursivité pour récupérer les nœuds enfants, et les requêtes sont assez simples. L'inconvénient est que l'insertion et la suppression nécessitent un peu plus de travail.
Il évolue également très bien. Je connais un système extrêmement énorme qui stocke les hiérarchies de discussion en utilisant cette méthode.