Mailinglisten-Archive |
>> Iterativ wird es echt langsam bei so circa 100 Einträgen und 5 Ebenen, >> wenn die überwiegende Anzahl in den unteren Ebenen liegt. > > ich würds doch iterativ machen, jeweils: > > me(start) > select id from tabelle where parent = start > while (id) do > call me (id) > something > end while > end me > > bei einer pconnection müsste das ziemlich rassig laufen bei nur 100 > einträgen.. :) > >> Eventuell auch eine bessere Adressierungsmöglichkeit? > > wüsst ich nichts besseres... :/ Wenns nur darum geht, jeweils ganze Äste von der ersten Ebene nach der Root weg zu löschen, emfiehlt es sich, ein Feld rootid neben der Parentid in den eizelnen Zeilen mitzuführen ... dann kannst die Löschung mit "where rootid=xyz" machen ... geht sicher schneller als der iterative ansatz, aber geht eben nur, wenn der ganze Ast weg muss ... wenn du auf der 2. Ebene anfangen willst, dann gehts gehts leider nicht ... Die Frage ist aber m.E. auch, wie oft soll denn das passieren? Wenn du nicht gerade jede Minute so ne Aktion machen willst, sollte es eigentlich keien Performance-Probleme geben Michael -- Michael Bergbauer <michael.bergbauer_(at)_gmx.net> Use your idle CPU cycles. See http://www.distributed.net and win $ 1 000. Visit our mud Geas at geas.franken.de Port 3333 --- *** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive