Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> EXPLAIN PLAN
I have two SQL queries. They are identical except that two of the tables were swapped in the FROM clause. The explain plans are shown below. One of them runs very quickly; the other basically won't run. The plans are the same, except for the last few lines. Can anyone explain why there would be such a difference in performance? The query only returns 600 rows. The LAB_MEAS table has over 2 million records.
Thanks for any help you can provide.
Beverly Zygmunt
Oak Ridge National Lab
SQL Code:
SELECT ALL OREIS.PROJECT.PROJ_NAME, OREIS.PROJECT.PROJ_CODE,
OREIS.PARAMETER.CHEMICAL_NAME, OREIS.LAB_MEAS.RESULTS, OREIS.LAB_MEAS.UNITS, OREIS.SAMPLE.MED_TYPE, OREIS.SAMPLE.D_COLLECTED, OREIS.LOCATION.ADMIN_EAST, OREIS.LOCATION.ADMIN_NORTH, OREIS.STATION.STA_NAME
OREIS.LOCATION, OREIS.PARAMETER, OREIS.PROJECT, OREIS.PROJECT_STATION_EVENT, OREIS.SAMPLE, OREIS.STATION, OREIS.STATION_EVENT WHERE (OREIS.PROJECT.PROJ_SITE='OFFSITE'AND OREIS.SAMPLE.MED_TYPE='WS'
AND (OREIS.LAB_MEAS.PARAMTR=OREIS.PARAMETER.PARAMTR) AND (OREIS.LAB_SMP.SAMPLE_ID=OREIS.SAMPLE.SAMPLE_ID) AND (OREIS.STATION.LOCATION_ID=OREIS.LOCATION.LOCATION_ID) AND (OREIS.PROJECT_STATION_EVENT.PROJECT_ID=OREIS.PROJECT.PROJECT_ID) AND (OREIS.PROJECT_STATION_EVENT.STAT_EVENT_ID=OREIS.STATION_EVENT.STAT_EVENT_ID) AND (OREIS.SAMPLE.STAT_EVENT_ID= OREIS.STATION_EVENT.STAT_EVENT_ID) AND
Plan 1 - FAST results
QUERY_PLAN
NESTED LOOPS NESTED LOOPS NESTED LOOPS NESTED LOOPS NESTED LOOPS NESTED LOOPS NESTED LOOPS TABLE ACCESS BY ROWID SAMPLE INDEX RANGE SCAN SAMPLE_MED_TYPE_UK TABLE ACCESS BY ROWID STATION_EVENT INDEX UNIQUE SCAN STATION_EVENT_PK TABLE ACCESS BY ROWID STATION INDEX UNIQUE SCAN STATION_PK TABLE ACCESS BY ROWID LOCATION INDEX UNIQUE SCAN LOCATION_PK TABLE ACCESS BY ROWID PROJECT_STATION_EVENT INDEX RANGE SCAN PROJ_STAT_EVT_STAT_EVT_ID_FK TABLE ACCESS BY ROWID PROJECT INDEX UNIQUE SCAN PROJECT_PK TABLE ACCESS BY ROWID PARAMETER INDEX RANGE SCAN PARAMETER_CHEM_NAME_UK TABLE ACCESS BY ROWID LAB_SMP INDEX RANGE SCAN LAB_SMP_SAMPLE_ID_FK TABLE ACCESS BY ROWID LAB_MEAS AND-EQUAL INDEX RANGE SCAN LAB_MEAS_LAB_SMP_ID_FK INDEX RANGE SCAN LAB_MEAS_PARAMTR_FK
Plan 2 - Never could get this one to return results:
QUERY_PLAN
NESTED LOOPS NESTED LOOPS NESTED LOOPS NESTED LOOPS NESTED LOOPS NESTED LOOPS NESTED LOOPS NESTED LOOPS TABLE ACCESS BY ROWID SAMPLE INDEX RANGE SCAN SAMPLE_MED_TYPE_UK TABLE ACCESS BY ROWID STATION_EVENT INDEX UNIQUE SCAN STATION_EVENT_PK TABLE ACCESS BY ROWID STATION INDEX UNIQUE SCAN STATION_PK INDEX UNIQUE SCAN LOCATION_PK TABLE ACCESS BY ROWID PROJECT_STATION_EVENT INDEX RANGE SCAN PROJ_STAT_EVT_STAT_EVT_ID_FK TABLE ACCESS BY ROWID PROJECT INDEX UNIQUE SCAN PROJECT_PK TABLE ACCESS BY ROWID PARAMETER INDEX RANGE SCAN PARAMETER_CHEM_NAME_UK TABLE ACCESS BY ROWID LAB_MEAS INDEX RANGE SCAN LAB_MEAS_PARAMTR_FK TABLE ACCESS BY ROWID LAB_SMP INDEX UNIQUE SCAN LAB_SMP_PKReceived on Fri Jan 24 1997 - 00:00:00 CST