Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: instead of SELECT TOP: cursors or nested queries?

Re: instead of SELECT TOP: cursors or nested queries?

From: Erik <no_at_spam.com>
Date: Wed, 7 Jan 2004 23:09:18 +0100
Message-ID: <bti04m$a5q$1@news.lth.se>


> I'm using Oracle 9i. I need an equivalent of Sql Server's SELECT TOP
> with ORDER BY.
> I have found two different approaches to do this.
> 1- Declaring a cursor and fetching the rows I need.
> 2- Using a nested query to order the table in the inner select and
> rownum in the outer.
>
> Both solutions work right, but I want to know which has a better
> performance when my tables become large, i.e. more than 10K records.
> I guess that if I create an index on the column I order by there
> should be no significant differences in performance between those
> solutions, but I'm not sure.
>
> Can anybody give some advice?

You don't need a nested query:
SELECT a FROM t ORDER BY b WHERE rownum < 10 will work just fine, and probably have the best performance. An index on b could be used to eliminate the sort, but I don't think it will make a big difference with just 10k rows Received on Wed Jan 07 2004 - 16:09:18 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US