Mamta Satoor wrote:
Excuse my ignorance, but what does it mean by "order by that spills to the disk"?

My interpretation of this is that when derby executes a statement with
an order by it has to somehow sort the rows.  Derby has 2 methods of
doing this:
1) Carefully craft the execution plan to take advantage of an existing index that exactly matches the order by.
2) Throw all the result rows into the sorter.

In case 2 there are basically 2 paths through the code:
1) if we have enough memory we sort all the rows in memory.
2) if we don't have enough memory we "spill to disk", basically we use
   a disk based sort algorithm.  This code is different from the btree
   index code.

Mamta

On 3/15/07, *Mike Matrigali* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:



    Daniel John Debrunner wrote:
     > Rick Hillegas wrote:
     >
     >> Daniel John Debrunner wrote:
     >>
     >>> ...
     >>>
     >>> - The collation type (the integer) is written into the
    meta-data for
     >>> an index just as ascending/descending is today (including the btree
     >>> control row, thus making the information available for recovery).
     >>> Collation type applies to all character columns in the index.
     >>>
     >> This suggests that all of the columns in the index must have the
    same
     >> collation? I don't think that is powerful enough to support the
     >> full-blown SQL collation language, which allows you to mix
    differently
     >> collated columns in an ORDER BY clause. Why can't the collation
    type
     >> be an array of ints just as the sort direction is an array of
    booleans
     >> in IndexDescriptor?
     >
     >
     > That would be more flexible, but is it required? Is an order by that
     > spills to disk implemented using a BTREE?

    No, order by that spills to disk is implemented by the sorter.

     >
     > Thanks,
     > Dan.
     >
     >
     >



Reply via email to