Es kommt immer auf den Anwendungsfall an
Ich habe zum Beispiel bei vielen meiner Projekte die Navigation komplett in der Datenbank, auch wenn diese sich nicht so oft ändern sollte, ich habe trotzdem die Möglichkeit schnell Anpassungen durchzuführen. damit nicht bei jedem Seitenaufruf die Datenbank befragt werden muss, wird die Navigation gecacht.
Der Flaschenhals ist meist nicht die Datenbank sondern PHP selbst (solange ich eine 100Mbit oder sogar 1000Mbit Verbindung zum Datenbankserver habe, falls dieser nicht auf dem gleichen Rechner läuft)