Eddie: 1001 immergleiche Datenbankzugriffe vermeiden / optimieren

Beitrag lesen

Hallo allerseits,

ich stehe vor dem Problem, dass ich aus einer Datenbank mit Kontinenten, Regionen und Ländern einen Baum erzeugen will:

...
Asien
--Südostasien
----Festland
------Kambodscha
------Laos
------Myanmar
------Thailand
------Vietnam
----Inseln
------ ...
----Zentralasien ...

Bisher mache ich das noch nach dem Muster:

  1. Kontinente abfragen (1 Zugriff)
  2. für die 6 Kontinente die 27 zugehoerigen Unterregionen abfragen (6 Zugriffe)
  3. rekursiv weiter Unter-Unterregionen für die Unterregionen abfragen, solange, bis nichts mehr zurück kommt (minimal 27 Zugriffe)
  4. für alle Regionen die zugehörigen Länder abfragen (nochmal minimal 27 Zugriffe)
  5. ggf. für die 216 gefundenen Länder die entspr. Städte und Landesregionen abfragen (216 Zugriffe)

Das sind alles zusammen 287 Datenbankzugriffe bei einem einzigen Aufruf der Seite - und die erbringen immer exakt dasselbe Ergebnis.

Die Seite läuft unter Linux, Apache, MySQL und PHP (war ja klar).

Wie wuerdet ihr das machen?

Danke, Eddie