Tema: Re: threaded comments, optimaliau
Autorius: RQ
Data: 2009-03-12 13:16:56
O tai kas tau trukdo uzklausas prasukt toje rakursineje funkcijoje? 
Nereikes visko imti iskart - imsi tik tiek kiek reikia...


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.
>  
>  
>  
>  
>  
>