Autor | Zpráva | ||
---|---|---|---|
souki Profil |
#1 · Zasláno: 29. 12. 2007, 17:23:15
Mám stromovou sturkturu kategorií o neznámé hloubce. V kategoriích jsou články a jeden článek může být v němolika kategoricích (není až tak podstatné). Když si pak udělám na webu třeba výpis hlavních kategorií - jak k nim co NEJEFEKTIVNĚJI připisovat počet článků v nich a podřazených?
Děkuji za jakoukoliv radu :) |
||
Alphard Profil |
#2 · Zasláno: 29. 12. 2007, 18:03:38
jak k nim co NEJEFEKTIVNĚJI
v jakém ohledu? rychlost dotazu nebo paměťová náročnost? mohlo by se to počítat při vkládání článků a ukládat k jednotlivým kategoriím |
||
souki Profil |
#3 · Zasláno: 29. 12. 2007, 18:10:00
Alphard
v ohledu, aby když se to bude načítat 500x za minutu, aby to nesundalo server :) Postupně to přičítat už mě taky napadlo. Je to ale poměrně náročné - vždycky několik dotazů na nalezení kategorií, sečtení, uložení, .... |
||
Mastodont Profil |
#4 · Zasláno: 29. 12. 2007, 18:19:22
mohlo by se to počítat při vkládání článků a ukládat k jednotlivým kategoriím
Jj, přesně tak. souki vždycky několik dotazů na nalezení kategorií - počkej, ty kategorie máš snad vybrány při napsání článku, ne? Hledat nic nemusíš, jen spustíš UPDATE |
||
souki Profil |
#5 · Zasláno: 29. 12. 2007, 18:29:42
Mastodont
a co nadřazené kategorie? |
||
Mastodont Profil |
#6 · Zasláno: 29. 12. 2007, 18:32:36
Trigger? Jak máš v DB definovánu hierarchii kategorií?
|
||
souki Profil |
#7 · Zasláno: 29. 12. 2007, 18:39:00
každá má u sebe id nadřazené
|
||
Mastodont Profil |
#8 · Zasláno: 29. 12. 2007, 19:42:13
Hm, to smrdí rekurzí :-)) Lepší by bylo, kdys ukládal celou cestu ke kategorii, třeba "1-5-15-35".
http://www.onlamp.com/pub/a/onlamp/2004/08/05/hierarchical_sql.html |
||
tiso Profil |
#9 · Zasláno: 29. 12. 2007, 20:32:06
souki - najefektívnejšie tak, že ich budeš mať pri každej kategórii vypísané. Meniť ich budeš pri pridávaní/mazaní článkov
|
||
souki Profil |
#10 · Zasláno: 30. 12. 2007, 12:47:33
Mastodont
Jo tak jsem to už taky začal :) Ale nezdálo se mi to moc košér |
||
Časová prodleva: 17 let
|
0