Esistono diversi modi per archiviare i dati gerarchici in MySQL. Dai un'occhiata alla presentazione di Bill Karwin che mostra quattro opzioni.
- Elenco di adiacenza
- Enumerazione dei percorsi
- Set nidificati
- Tabella di chiusura
Stai utilizzando l'elenco di adiacenze modello per la memorizzazione dei dati gerarchici, ma sfortunatamente questo è il più difficile modello che potresti scegliere per interrogare i sottoalberi.
Le tue opzioni sono:
- Passa a un modello diverso.
- Limita le query a n livelli di profondità.
- Utilizzare una procedura memorizzata per eseguire query ricorsive. Per ulteriori informazioni al riguardo, vedere la serie di articoli di Quassnoi - Query gerarchiche in MySQL .