sql >> Database >  >> RDS >> Mysql

Recursieve MySQL-query?

MySQL ondersteunt geen recursieve zoekopdrachten.

Ik zou willen voorstellen dat je de presentatie van Bill Karwin bekijkt waar hij vier verschillende modellen voor het opslaan van hiërarchische gegevens vergelijkt en hun voor- en nadelen bekijkt:

  • Aangrenzende lijst
  • Pad opsomming
  • Geneste sets
  • Sluitingstabel

Dia 48 toont de relatieve moeilijkheid van bepaalde soorten zoekopdrachten met elk van de modellen. Uit uw vraag blijkt dat u het meest geïnteresseerd bent in "Query-subboom", waarvoor de lijst met aangrenzende gebieden (het model dat u momenteel gebruikt) het slechtst presteert van de vier.

Als alternatief, als u alleen de hele boom wilt selecteren, zoals in alle gegevens in de tabel, kunt u de eenvoudige query gebruiken SELECT * FROM yourtable en reconstrueer de boomstructuur in de client.



  1. De eenvoudigste manier om een ​​recursieve self-join te doen?

  2. Mysql:onmogelijk waar opgemerkt na het lezen van const-tabellen

  3. Oracle-instelling per gebruiker standaardschema (geen sessie wijzigen)

  4. Oracle Interviewvragen