sql >> Database teknologi >  >> RDS >> Sqlserver

Optimeret SQL til træstrukturer

Det afhænger virkelig af, hvordan du vil få adgang til træet.

En smart teknik er at give hver node et streng-id, hvor forælderens id er en forudsigelig understreng af barnet. For eksempel kunne forælderen være '01', og børnene ville være '0100', '0101', '0102' osv. På denne måde kan du vælge et helt undertræ fra databasen på én gang med:

SELECT * FROM treedata WHERE id LIKE '0101%';

Fordi kriteriet er en indledende understreng, vil et indeks på ID-kolonnen fremskynde forespørgslen.



  1. Hvordan håndhæver jeg sætlignende unikhed mellem flere kolonner?

  2. Forespørgsel med outer joins opfører sig anderledes i Oracle 12c

  3. Send tabel som parameter til sql server UDF

  4. oracle sql-forespørgsel for at vise alle datoerne for den foregående måned