| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Mailing Lists -> Oracle-L -> DBA_OBJECTS using Distinct Vs Group By
Any ideas why "GROUP BY" query is faster that
"DISTINCT" in this query?
SELECT OWNER FROM DBA_OBJECTS GROUP BY OWNER; Good Timing (GROUP BY) Plan (runs in 9 secs):
| Id | Operation00:00:01 |
| Name | Rows | Bytes | Cost (%CPU)|
Time | --------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT
| | 457 | 22850 | 2062 (9)|
00:00:25 | | 1 | HASH GROUP BY
| | 457 | 22850 | 2062 (9)|
00:00:25 | |* 2 | FILTER
| | | | |
| |* 3 | HASH JOIN
| | 506K| 24M| 2019 (7)|
00:00:25 | | 4 | TABLE ACCESS FULL
| USER$ | 457 | 5484 | 7 (0)|
00:00:01 | |* 5 | TABLE ACCESS FULL
| OBJ$ | 506K| 18M| 2006 (7)|
00:00:25 | | 6 | NESTED LOOPS
| | 1 | 26 | 1 (0)|
00:00:01 | |* 7 | INDEX RANGE SCAN
| I_OBJAUTH1 | 2 | 26 | 1 (0)|
00:00:01 | |* 8 | FIXED TABLE FULL
| X$KZSRO | 1 | 13 | 0 (0)|
00:00:01 | |* 9 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 10 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 11 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 12 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 13 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 14 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 15 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 16 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 17 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 18 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 19 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 20 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 21 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 22 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 23 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 24 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 25 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 26 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 27 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 28 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | |* 29 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 | | 30 | VIEW
| | 1 | 13 | 2 (0)|
00:00:01 | | 31 | FAST DUAL
| | 1 | | 2 (0)|
00:00:01 | |* 32 | TABLE ACCESS BY INDEX ROWID| IND$ | 1 | 9 | 1 (0)| 00:00:01 | |* 33 | INDEX UNIQUE SCAN
| I_IND1 | 1 | | 1 (0)|
SELECT DISTINCT OWNER FROM DBA_OBJECTS; Bad Timing (DISTINCT) Plan:
| Id | Operation
| Name | Rows | Bytes | Cost (%CPU)|
Time |
--------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT
| | 457 | 22850 | 2025 (8)|
00:00:25 |
| 1 | HASH UNIQUE
| | 457 | 22850 | 2025 (8)|
00:00:25 |
|* 2 | FILTER
| | | | |
|
|* 3 | HASH JOIN
| | 506K| 24M| 2019 (7)|
00:00:25 |
| 4 | TABLE ACCESS FULL
| USER$ | 457 | 5484 | 7 (0)|
00:00:01 |
|* 5 | TABLE ACCESS FULL
| OBJ$ | 506K| 18M| 2006 (7)|
00:00:25 |
|* 6 | HASH JOIN
| | 2 | 52 | 2 (50)|
00:00:01 |
|* 7 | INDEX RANGE SCAN
| I_OBJAUTH1 | 2 | 26 | 1 (0)|
00:00:01 |
| 8 | FIXED TABLE FULL
| X$KZSRO | 100 | 1300 | 0 (0)|
00:00:01 |
|* 9 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 10 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 11 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 12 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 13 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 14 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 15 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 16 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 17 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 18 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 19 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 20 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 21 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 22 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 23 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 24 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 25 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 26 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 27 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 28 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
|* 29 | FIXED TABLE FULL
| X$KZSPR | 1 | 26 | 0 (0)|
00:00:01 |
| 30 | VIEW
| | 1 | 13 | 2 (0)|
00:00:01 |
| 31 | FAST DUAL
| | 1 | | 2 (0)|
00:00:01 |
|* 32 | TABLE ACCESS BY
INDEX ROWID| IND$ | 1 | 9 | 1 (0)|
00:00:01 |
|* 33 | INDEX UNIQUE SCAN
| I_IND1 | 1 | | 1 (0)|
00:00:01 |
-- http://www.freelists.org/webpage/oracle-lReceived on Wed Jun 21 2006 - 15:01:05 CDT
![]() |
![]() |