Mailinglisten-Archive |
On Tue, Apr 02, 2002 at 12:48:22PM +0200, Wolfgang Hauck wrote: <snip> > Hier ist es moeglich, mit einer SQL - Abfrage in die x - te Generation zu > schauen! problematisch ist es aber, ganze ahnenketten auszuwerten, also suchen in baeumen. ich habs aber kuerzlich mit ein paar tricks hingekriegt, tatsaechlich in SQL rekursive funktionen zu implementieren, sodass man das ganze alles in einer query unterkriegt. ist aber halt nicht so sonderlich schnell beim lesen, dafuer aber ist das einfuegen sehr flott und problemlos. eine andere variante geht ueber verschachtelte mengen (nested sets). der trick an der sache liegt darin, dass jeder teilbaum ein gewisses interval einnimmt, in dem wurzel und alle kindknoten liegen. dadurch lassen sich alle unterknoten mit einem einfachen integer- vergleich rausfischen ... vorteil: sehr schnell beim select, aber insert ist recht umstaendlich und langsam, weil da vielfach ganze teilbaeume neu nummeriert werden muessen ... irgentjemand hatte hier mal einen link zu einer howto dazu gepostet, leider find ich ihn aber hier nicht mehr :( dennoch koenntest du dir vielleicht auch mal prolog anschauen, da das genau auf rekursive probleme ausgelegt ist ... ~-n -- Enrico Weigelt == meTUX IT services software development, IT service, internet security solutions www: http://www.metux.de/ phone: +49 36207 519931 email: contact_(at)_metux.de cellphone: +49 174 7066481
php::bar PHP Wiki - Listenarchive