Tema: Re: threaded comments, optimaliau
Autorius: Mindaugas
Data: 2009-03-12 12:59:19
nu tai jamk viska ir suk begalini cikla
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.
>
>
>
>
>
>