I checked the results (for my case) for the two variants of ordering
our table
(actually a view) and I could not find any difference. No duplicates,
everything in
same order.

Next monday I can provide you with some benchmarks. Some more details:
- the select was run on a view with 20 columns, coming from 7 tables
- no index on the ordered column (users are able to sort arbitrarily
over
  any column through a web interface)

The difference was huge, the ROW_NUMBER() OVER approach was finished
after 1.7s, the newer nested approach took about 25s. More details
next week.

Ciao ciao

Ralph


On Jun 23, 5:29 pm, Ian Kelly <ian.g.ke...@gmail.com> wrote:
> On Wed, Jun 23, 2010 at 1:50 AM, Ralph Heinkel <ralph.hein...@web.de> wrote:
> > Hi,
>
> > we are about upgrading our sqlalchemy library from 0.4.8 to something newer
> > and during this process we have detected that the LIMIT/OFFSET support for
> > oracle has been changed, from using  “ROW NUMBER OVER...” to a wrapped
> > subquery approach in conjunction with ROWNUM as described in
> >http://www.sqlalchemy.org/docs/reference/dialects/oracle.html#limit-o...
>
> > Unfortunately this approch is about 10 times slower for large tables which
> > is mainly related to the fact that the innermost subquery has to sort the
> > entire table with a plain 'order by'.
> > Interestingly the
> >        ROW_NUMBER() OVER (ORDER BY some db fields)
> > is so much more efficient than the normal order by approach.
>
> Do you have benchmarks to back that up?  In Django, we switched from
> using row_number to rownum after a contributor convinced me that
> rownum was faster.  See:
>
> http://code.djangoproject.com/ticket/9136
>
> Thanks,
> Ian

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to