Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: double linked list
>> Being a novice in SQL and after doing just a couple of days of
research on that matter ... <<
Another boss who will not pay for training :0!!
>> I got the impression that SQL hasn't yet evolved to that point to
provide simple to use keywords for these kind of problems. <<
SQL is a set oriented language, not a procedural language. You have to learn to model data in terms of sets and not sequences to use it.
>> Oracle 9i seems to have been progressed over 8i in this regard. <<
Actually, Oracle is a horrible product and their extensions are flaws that lock the code into a particular underlying sequential physical implementation with sorting and cursors, no parallelism, etc.
>> Currently I figure to use
SELECT cs, cb, level
FROM link_t
START WITH cb
IN (SELECT cb FROM link_t WHERE cs = 'A')
that will return a tree containing all paths with the root as the common starting point. <<
It returns a sequential file that represents a table and that represernation depends on the order of the records (they are no longer rows in a table).
>> I would load this structure into a middle tier and apply some sort
of commonly used tree traversial algorithm to it to search for nodes
and endpoints of interest. <<
You can do all of those searches in the Nested Sets model with a single query, no middle ware and they will run 10 to 100 times faster for large trees.
I have a book on trees in SQL that will be published later this year that you might want to buy. Received on Sat Feb 01 2003 - 15:23:11 CST
![]() |
![]() |