Hallo,
den Pfad solltest du mit einem simplen GROUP_CONCAT hinbekommen.
Nehmen wir einfach mal den Zweig Welt, Europa, Deutschland, Berlin
Left, Right, Payload
------------------------------
[ 1] [14] Welt
[ 2] [ 7] Europa
[ 3] [ 6] Deutschland
[ 4] [ 5] Berlin
[ 8] [13] Amerika
[ 9] [12] USA
[10] [11] San Diego
Bei "Welt" sind Left und Right am unterschiedlichsten, also ist das der Wurzel Knoten. Bei "San Diego" und "Berlin" sind Left und Right nur 1 auseinander, das ist nur bei Endknoten so.
Wenn du jetzt abfragst: gib mir alles in Europa, fragst du technisch gib mir alles, wo Left und Right innerhalb von Left=2 und Right=7 liegen. 3,6 und 4,5 liegen beide vollständig darin. Das selbe Spiel kannst du mit Welt oder Amorika machen.
Alles was du dann noch für den Pfad brauchst, ist eine Aggregationsfunktion wie GROUP_CONCAT.
Bevor du dir Sorgen über Performance machst, solltest du dir Sorgen machen, deine Anforderungen überhaupt umsetzen zu können.
Cheers, Frank