Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: SQL statement performance
Here's another version of the query that has only 1 sort.
SELECT a.spid, s.name, s.commonname FROM (SELECT /+* NO_MERGE(b) */ DISTINCT spid FROM (SELECT r.queryspid AS spid FROM results r ,species s WHERE r.subjspid = s.id UNION ALL SELECT r.subjspid FROM results r ,species s WHERE r.subjspid != r.queryspid AND r.subjspid = s.id) b ) a ,specias s WHERE a.spid = s.id;
Kevin
-----Original Message-----
Sent: Tuesday, May 15, 2001 6:31 AM
To: Multiple recipients of list ORACLE-L
Hi Guang,
Try something like this:
select distinct(spid) spid,name,commonname
from
(
select distinct(spid) spid,name,commonname
from results a
, species
where a.queryspid = species.id
union all
select distinct(spid) spid,name,commonname
from results b
, species
where a.subjspid = species.id
);
HTH, Remco
-----Oorspronkelijk bericht-----
Van: Guang Mei [mailto:zlmei_at_hotmail.com]
Verzonden: dinsdag 15 mei 2001 1:20
Aan: Multiple recipients of list ORACLE-L
Onderwerp: SQL statement performance
Oracle : 8.0.5
Platform : Sun
SQL statement:
select distinct(spid) spid, name, commonname from (
select distinct queryspid spid from results union
select distinct subjspid spid from results
) a, species
where a.spid=species.id ;
Table "Species" only has 33 records, while table "results" has about 8000000
records. There are indexes on queryspid and subjspid.
This query is somehow slow. Is there any "easy" way to speed it up?
Thanks.
-- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Guang Mei INET: zlmei_at_hotmail.com 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-LReceived on Tue May 15 2001 - 06:52:26 CDT
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing). -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Daemen, Remco INET: R.Daemen_at_facent.nl 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). -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Toepke, Kevin M INET: ktoepke_at_cms.cendant.com 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).