Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL, possibile problema relativo alla categoria nidificata

Se per questo molti ci sono arbitrariamente molti livelli di nidificazione delle categorie, non è possibile acquisirli tutti con una singola query utilizzando il modello di schema "riferimento genitore". Dovresti interrogare ripetutamente i figli di ogni categoria che hai trovato, in modo ricorsivo, o semplicemente continuare a fare auto join sempre più lunghi finché non hai raccolto gli elementi più nidificati.

Per l'accesso a query singola ai dati gerarchici dovrai esaminare modi alternativi di strutturare lo schema, principalmente:

  • Set nidificati :memorizza un ordinamento numerico di una passeggiata ricorsiva sull'albero
  • Relazione di adiacenza :aggiunge ulteriori coppie antenato/discendente alla ricerca di tuo figlio/genitore

Uno o entrambi questi approcci, in uno dei loro gusti, potrebbero funzionare per te. (Di solito finisco con i set nidificati in modo da ottenere anche un ordine esplicito dal primo all'ultimo.)