Oui, il y a une bien meilleure façon. Le soi-disant algorithme de parcours d'arbre de pré-ordre modifié. Vous pouvez trouver de nombreuses informations en cherchant sur Google, et je suis sûr que le débordement de la pile également.
Les avantages sont que vous pouvez récupérer une sous-arborescence entière en utilisant une seule requête. Les SELECTS seront rapides, mais les modifications sont plus lourdes.