>- see footer for list info -< Thanks Tim, The trees are quite static and would rarely change once setup. They are only probably 4 or 5 levels in depth with relatively few branches at the top in order to arrive at the bottom level.
Thanks for your help. Lee ---------- Original Message ---------------------------------- From: "Tim Blair" <[EMAIL PROTECTED]> Reply-To: Coldfusion Development <[email protected]> Date: Mon, 10 Jan 2005 14:35:12 -0000 >>- see footer for list info -< >Lee, > >> Loop over it and build an explorer tree ( using list items is >> probably the easiest method). Check if each item has child >> items, if so add a nested list item. > >Depending on the potential size of the tree (length and depth) this may >not be the best way to go about it. For every node you have to check if >there are any child nodes; this means that for a tree with 1000 nodes >you have to do 1000 queries. Not a good thing. Sure, caching can >alleviate the vast majority of this, but if the tree is changing >frequently then the cache can be irrelevant. > >This topic of conversation comes up again and again; you'll find >discussions to almost religious levels if you do a quick search. One of >the more often cited methods of handling large trees in SQL is the >"nested sets model". > >Using nested sets is a lot more complicated than the standard "adjacency >list" method (i.e. child-parent pairs) you've used (especially if you're >like me and are using an old version of MySQL without sub-selects!) but >it provides so much more flexibility. Using a nested set model, I can >pull out my entire tree, including parent/child relationships and node >depths, with just a single query. > >Here's some links to more info about trees in SQL, including discussion >on why the adjacency list model is bad and nested sets are good :) (at >least for large trees): > >http://c2.com/cgi/wiki?TreeInSql >http://www.dbmsmag.com/9603d06.html >http://short.badpen.com/?RR0F83YD > >Of course, if the tree is small and the extra queries won't really >affect anything, then Russ' solution fits the bit perfectly. > >Tim. > > >-- >------------------------------------------------------- >Badpen Tech - CF and web-tech: http://tech.badpen.com/ >------------------------------------------------------- > RAWNET LTD - independent digital media agency > "We are big, we are funny and we are clever!" > New site launched at http://www.rawnet.com/ >------------------------------------------------------- >This message may contain information which is legally >privileged and/or confidential. If you are not the >intended recipient, you are hereby notified that any >unauthorised disclosure, copying, distribution or use >of this information is strictly prohibited. Such >notification notwithstanding, any comments, opinions, >information or conclusions expressed in this message >are those of the originator, not of rawnet limited, >unless otherwise explicitly and independently indicated >by an authorised representative of rawnet limited. >------------------------------------------------------- > >_______________________________________________ > >For details on ALL mailing lists and for joining or leaving lists, go to >http://list.cfdeveloper.co.uk/mailman/listinfo > >-- >CFDeveloper Sponsors:- >>- Hosting provided by www.cfmxhosting.co.uk -< >>- Forum provided by www.fusetalk.com -< >>- DHTML Menus provided by www.APYCOM.com -< >>- Lists hosted by www.Gradwell.com -< >>- CFdeveloper is run by Russ Michaels, feel free to volunteer your help -< > _______________________________________________ For details on ALL mailing lists and for joining or leaving lists, go to http://list.cfdeveloper.co.uk/mailman/listinfo -- CFDeveloper Sponsors:- >- Hosting provided by www.cfmxhosting.co.uk -< >- Forum provided by www.fusetalk.com -< >- DHTML Menus provided by www.APYCOM.com -< >- Lists hosted by www.Gradwell.com -< >- CFdeveloper is run by Russ Michaels, feel free to volunteer your help -<
