taip, ačiū, šį dalyką jau atkasiau per forumus visokius ;) kažkodėl galvoje maždaug kažką tokio ir įsivaizdavau, tik ne iki galo sugebėjau susiformuoti. "Algis" <algirdasvISTRINTI@gmail.com> wrote in message news:gpar40$lqq$1@trimpas.omnitel.net... > Su tokia struktūra optimaliai nepavyks, reik naudoti The Nested Set Model > > o apie vieną ir apie kitą paskaityk čia > http://dev.mysql.com/tech-resources/articles/hierarchical-data.html > > > alias wrote: >> hai, >> kaip optimaliausiai generuoti komentarų medį, naudojant kuo mažiau mysql >> užklausų? >> ------------------------------------------------------------------------ >> šiuo metu yra table'as (supaprastintai): >> comments >> id parent content 1 null lorem ipsum >> 2 null lorem ipsum >> 3 1 lorem ipsum >> 4 2 lorem ipsum >> 5 null lorem ipsum >> 6 3 lorem ipsum >> 7 1 lorem ipsum >> 8 4 lorem ipsum >> >> kada komentarų nedaug, tai pasiimu juos visus ir praleidžiu per >> rekursinę funkciją, taip generuodamas medį - čia viskas veikia ir viskas >> realizuota. >> bet kada komentarų yra DAUG, noriu, kad veiktų tokiu principu: >> - paimtų pirmus /n/ komentarų, kurių parent yra /null/ >> - ir tada jau imtų visus child komentarus kiekvienam iš tų pagrindinių >> ------------------------------------------------------------------------ >> problema: >> nesugalvoju, kaip visa tai realizuoti viena (ar kuo mažiau) mysql >> užklausa. >> pirmus n komentarus paimti nesunku. ir galėčiau cikle kiekvienam >> pagrindiniam surankioti jo vaikučius. bet jei tas 'n' bus lygus 100, tai >> išeina 100 papildomų užklausų surankiot jų vaikučiams. >> jau porą dienų kaip galvoju ties šia logine problema, ir nesugalvoju >> geriausio sprendimo. eksperimentavau su sudetingesnėm sql užklausom, bet, >> ko gero, pasireiškia žinių trūkumas šioje srityje. >> tataigi, ką kolegos protingieji kurmiai patarsite, gal ant kelio >> užvesite? ar visgi 100 užklausų komentarų medžių generavimui yra normalu >> ir neverta čia kažko daugiau optimizuoti? >> dėkui, >> M. >> > > > -- > Algis > http://www.anekdotai.net