explain plan for select participantgroup from sourceprocresult outer where participantgroup <> ' ' AND sprid IN (select max(sprid) from sourceprocresult inner where spuid = 100000000 and sprid < 1521); --------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | --------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 10 | 8 (0)| 00:00:01 | |* 1 | TABLE ACCESS BY INDEX ROWID | SOURCEPROCRESULT | 1 | 10 | 4 (0)| 00:00:01 | |* 2 | INDEX RANGE SCAN | SPR_SPRID | 1 | | 3 (0)| 00:00:01 | | 3 | SORT AGGREGATE | | 1 | 14 | | | |* 4 | TABLE ACCESS BY INDEX ROWID| SOURCEPROCRESULT | 1 | 14 | 4 (0)| 00:00:01 | |* 5 | INDEX RANGE SCAN | SPR_SPRID | 1 | | 3 (0)| 00:00:01 | --------------------------------------------------------------------------------------------------- explain plan for select /*+ CARDINALITY(outer 1)*/ participantgroup from sourceprocresult outer where participantgroup <> ' ' AND sprid IN (select max(sprid) from sourceprocresult inner where spuid = 100000000 and sprid < 1521) / --------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | --------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 10 | 8 (0)| 00:00:01 | |* 1 | TABLE ACCESS BY INDEX ROWID | SOURCEPROCRESULT | 1 | 10 | 4 (0)| 00:00:01 | |* 2 | INDEX RANGE SCAN | SPR_SPRID | 1 | | 3 (0)| 00:00:01 | | 3 | SORT AGGREGATE | | 1 | 14 | | | |* 4 | TABLE ACCESS BY INDEX ROWID| SOURCEPROCRESULT | 1 | 14 | 4 (0)| 00:00:01 | |* 5 | INDEX RANGE SCAN | SPR_SPRID | 1 | | 3 (0)| 00:00:01 | ---------------------------------------------------------------------------------------------------