Thanks that will be helpful, I liked the idea of paths also. However if you have 200,000 + nodes in a tree the paths might be coming hard to work with.
On Wed, Apr 11, 2012 at 11:58 AM, villas <villa...@gmail.com> wrote: > I've just been working with a tree myself. Database recursion (CTE) seems > very effective and is now supported by most of the larger DBs (although > sadly not Sqlite yet, I don't think). > This is the reference link for Postgres and a SQL query I wrote for > Firebird, > I thought it might vaguely help if you are heading in that direction: > > > http://old.storytotell.org/blog/2009/08/11/postgresql84-recursive-queries.html > sql = """ > WITH RECURSIVE breadcrumb(id, descr, parent_id) AS ( > SELECT id, descr, parent_id FROM area a WHERE id = %s > UNION ALL > SELECT a.id, a.descr, a.parent_id FROM area a, breadcrumb > WHERE breadcrumb.parent_id = a.id) > SELECT * FROM breadcrumb; > """ % id > rows = db.executesql(sql,as_dict=True) > > However, I also like the method of saving paths in a field (I believe the > method is called "Materialized Path"). It seems simple and versatile and I > already decided to try it next time I need a simple tree and of course this > would work fine on Sqlite too. > > Best wishes, > David > > > > > On Wednesday, 11 April 2012 15:41:05 UTC+1, Detectedstealth wrote: >> >> Yeah probably is I already have it with web2py but it is slow with 20,000 >> nodes takes around 5-10 seconds to load the results. >> >> On Wed, Apr 11, 2012 at 7:29 AM, Richard Vézina < >> ml.richard.vez...@gmail.com> wrote: >> >>> I made a lot of that last year... Sometimes it was driving me nuts, >>> needing to have the same columns for each table in the union... Good naming >>> convention helps to make thing clearer when you get back to the code... >>> >>> Note, I would try to make it with web2py first if I were needing to >>> write those code again. >>> >>> Richard >>> >>> >>> On Wed, Apr 11, 2012 at 10:09 AM, Bruce Wade <bruce.w...@gmail.com>wrote: >>> >>>> Yeah not sure have never used recursion at the database level. However >>>> it seems to be the only option, none of the other options in that chapter >>>> fit my needs. >>>> >>>> >>>> On Wed, Apr 11, 2012 at 7:05 AM, Richard Vézina < >>>> ml.richard.vez...@gmail.com> wrote: >>>> >>>>> Recursion is slow because the union... But it may fit yours need >>>>> better I don't know. >>>>> >>>>> Richard >>>>> >>>>> >>>>> On Wed, Apr 11, 2012 at 9:45 AM, Bruce Wade <bruce.w...@gmail.com>wrote: >>>>> >>>>>> Ok so I have read the chapter I think the best option is postgres >>>>>> recursive queries. >>>>>> >>>>>> On Tue, Apr 10, 2012 at 10:39 AM, Richard Vézina < >>>>>> ml.richard.vez...@gmail.com> wrote: >>>>>> >>>>>>> Yes AntiPattern cover 4 or 5 kind of tree representation, classify >>>>>>> them depending of usage and gives pros and cons. >>>>>>> >>>>>>> I choose Closure table since it was one of the more complet for my >>>>>>> case. But if parent node is changing frequently it's not the more >>>>>>> effecient >>>>>>> tree antipattern. >>>>>>> >>>>>>> Have look it is pretty instructive. >>>>>>> >>>>>>> Book contain little more explanation, but there is this slide : >>>>>>> >>>>>>> http://www.slideshare.net/**billkarwin/practical-object-** >>>>>>> oriented-models-in-sql<http://www.slideshare.net/billkarwin/practical-object-oriented-models-in-sql> >>>>>>> >>>>>>> Richard >>>>>>> >>>>>>> >>>>>>> On Tue, Apr 10, 2012 at 7:32 AM, stefaan <stefaan.hi...@gmail.com>wrote: >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Well I know the major bottle neck in the site is the binary tree. I >>>>>>>>> am still trying to figure out how to do this the best and most >>>>>>>>> efficient. >>>>>>>>> >>>>>>>> >>>>>>>> Maybe this could be useful: http://dirtsimple.org/** >>>>>>>> 2010/11/simplest-way-to-do-**tree-based-queries.html<http://dirtsimple.org/2010/11/simplest-way-to-do-tree-based-queries.html> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> -- >>>>>> Regards, >>>>>> Bruce Wade >>>>>> http://ca.linkedin.com/in/**brucelwade<http://ca.linkedin.com/in/brucelwade> >>>>>> http://www.wadecybertech.com >>>>>> http://www.fittraineronline.**com <http://www.fittraineronline.com>- >>>>>> Fitness Personal Trainers Online >>>>>> http://www.warplydesigned.com >>>>>> >>>>>> >>>>> >>>> >>>> >>>> -- >>>> -- >>>> Regards, >>>> Bruce Wade >>>> http://ca.linkedin.com/in/**brucelwade<http://ca.linkedin.com/in/brucelwade> >>>> http://www.wadecybertech.com >>>> http://www.fittraineronline.**com <http://www.fittraineronline.com> - >>>> Fitness Personal Trainers Online >>>> http://www.warplydesigned.com >>>> >>>> >>> >> >> >> -- >> -- >> Regards, >> Bruce Wade >> http://ca.linkedin.com/in/**brucelwade<http://ca.linkedin.com/in/brucelwade> >> http://www.wadecybertech.com >> http://www.fittraineronline.**com <http://www.fittraineronline.com> - >> Fitness Personal Trainers Online >> http://www.warplydesigned.com >> >> -- -- Regards, Bruce Wade http://ca.linkedin.com/in/brucelwade http://www.wadecybertech.com http://www.fittraineronline.com - Fitness Personal Trainers Online http://www.warplydesigned.com