Salve a tutti

Sto cercando di rendere più performante il mio un CMS (content mangement sistem) in modo da ottimizzare il carico delle pagine sul server. approfondimento

il CMS permette all'amministratore del sito di creare una struttura informativa ad albero multilivello (moduli backend). Esempio:
Codice PHP:
[News]
--> 
gastronomia 
----- °ricetta 1 
-----° riceta 2 
-----° ricetta n 
--> eventi
-----° sagra dell'anguilla
----- ° sfilata d'
amore moda
----- °festa n
--> Sport
----> tennis
----------°torneo 1
----------°..torneo n
---->Calcio
----------° tornao 1
----------° torneo n 
Mediamente l'amministratore effettua 2 aggiornamenti al giorno, perolopiù per modificare o aggiungere foglie all'albero.

Ad ogni chiamata da parte di un utente il CMS produce un pagina che effettua mediamente 8/10 chimate al DB (moduli frontend)

LA maggior parte di queste chiamate servono per recuperare i nomi dei rami dell'albero in modo da ottenere link tematici del tipo:
Codice PHP:
[url="http://nomedominio/news/sport/tennis/torneo_1.htm"]torneo 1[/url]
[
url="http://nomedominio/news/sport/tennis/torneo_n.htm"]torneo n[/url]
[
url="http://nomedominio/news/calcio_23.htm"]Calcio[/url
Ad ogni link stampato a video corrisponde una chimata al DB per recuperare il percorso virtuale della foglia/ramo.

IN DEFINITIVA :
Pensavo di ridurre il numero di chiamate al DB mettendo la struttura ad albero in una variabile Application di tipo dictionary. Leggo però che le varibili applicatio consumano moltissima memoria per cui non vorrei risolvere un problema e procurarne un'altro

COSA NE PENSATE?
Conviene rivedere il codice per apportare questa modifica? Oppure io gioco non vale la candela?