Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: query for top customer
> Here's me publishing war-n-peace to solve
> a problem that takes 4 lines of code...
True, but your PL/SQL solution is fast.
Using a correlated subquery to find the top three rows works fine against EMP, but what happens when it goes against a table with 100,000 rows? This subquery runs 100,000 times:
where 3 > (select count(*) from tablea y where y.sales > x.sales)
The correlated subquery solution will run forever and a day, and an index won't help. If you can't do an in-line view, forget the correlated subquery, no matter how short it is, and use PL/SQL.
Am I missing something here?
-- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Greg Moore INET: sqlgreg_at_pacbell.net Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).Received on Mon Sep 10 2001 - 22:35:33 CDT
![]() |
![]() |