Ich habe eine Frage bezüglich Baumstrukturen in Datenbanken. Dass es sich um MySQL handelt, spielt denke ich mal keine große Rolle.
Gegeben ist beispielweise folgende Datenstruktur (nur das wichtige):
Code: Alles auswählen
id parent
--------------
1 0
2 1
3 2
4 2
5 1
6 0
Code: Alles auswählen
1 => 2 => 3
.. => 4
=> 5
6
Ich könnte natürlich jetzt so oft eine SQL Abfrage an die Datenbank schicken, bis ich bei 0 (also der obersten Ebene) angekommen bin, aber das würde ja bedeuten, dass ich immer n Abfragen brauche, um alle übergeordneten Knoten rauszukriegen, wobei n die Ebene ist, auf der ich mich befinde.
Auf das Beispiel bezogen: Ich befinde mich auf Knoten 3, über die Parent ID krieg ich raus, dass darüber der Knoten 2 is. Und dann muss ich den Knoten 2 abfragen, um rauszufinden, dass er 1 untergeordnet ist und dann wiederum 1 abzufragen, um rauszufinden, dass dieser keinem Knoten untergeordnet ist (0).
Aber so eine rekursive Angehensweise ist glaube ich nicht so performant.