Hello Stan,

> Lukas came to our company some weeks ago to demonstrate jOOQ and we had a
> look at the pagination query for oracle.

It has been a pleasure! Hope to see you at my upcoming JUGS talks
(hopefully in July), with new input :-)

> Some months ago, I came along a very interesting paper showing different
> techniques for doing efficient pagination.
>
> http://www.inf.unideb.hu/~gabora/pagination/results.html
> jOOQ would seem to use the solution n. 2.

This is indeed very interesting. Now that you remind me of this, I
realise that I tend to use solution #3 too, usually, as you can see
here:
http://stackoverflow.com/questions/6033080/speed-of-paged-queries-in-oracle

> I have made a patch for n.3, but
> could not test it yet (trouble with sonatype m2e on indigo...)
> here it is.
> https://github.com/stanislas/jOOQ/commit/cea35b05390cd4ccebccf19621ecfafacf2da148
>
> What do you think?

Thanks for this contribution. Note that "solution #4" seems to be
equally fast as #3. I had already planned for this to be implemented
some time, in order to be more consistent with DB", SQL Server and
Sybase SQL Anywhere simulations of LIMIT .. OFFSET:
http://sourceforge.net/apps/trac/jooq/ticket/1020

I didn't think it would also make sense to do so, performance-wise.
What do you think of this? I'd personally prefer a ROW_NUMBER() OVER()
solution...

In any case, I'll re-raise the question on Stack Overflow and if
confirmed by the Oracle gurus that usually reply on these things, I'll
work in your contribution into jOOQ.

Cheers
Lukas

Reply via email to