SQL> set autotrace traceonly explain;
SQL>
SQL> select count(0) from tab;
Execution Plan
----------------------------------------------------------
Plan hash value: 1728992512
-----------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 44 | 106 (1)| 00:00:02 |
| 1 | SORT AGGREGATE | | 1 | 44 | | |
|* 2 | FILTER | | | | | |
| 3 | NESTED LOOPS OUTER | | 1270 | 55880 | 106 (1)| 00:00:02 |
|* 4 | HASH JOIN | | 1270 | 49530 | 31 (4)| 00:00:01 |
| 5 | INDEX FULL SCAN | I_USER2 | 93 | 2046 | 1 (0)| 00:00:01 |
|* 6 | INDEX RANGE SCAN | I_OBJ5 | 1270 | 21590 | 29 (0)| 00:00:01 |
| 7 | TABLE ACCESS CLUSTER| TAB$ | 1 | 5 | 1 (0)| 00:00:01 |
|* 8 | INDEX UNIQUE SCAN | I_OBJ# | 1 | | 0 (0)| 00:00:01 |
| 9 | NESTED LOOPS | | 1 | 29 | 2 (0)| 00:00:01 |
|* 10 | INDEX SKIP SCAN | I_USER2 | 1 | 20 | 1 (0)| 00:00:01 |
|* 11 | INDEX RANGE SCAN | I_OBJ4 | 1 | 9 | 1 (0)| 00:00:01 |
-----------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - filter("O"."TYPE#"<>4 AND "O"."TYPE#"<>5 AND "O"."TYPE#"<>7 AND
"O"."TYPE#"<>8 AND "O"."TYPE#"<>9 AND "O"."TYPE#"<>10 AND "O"."TYPE#"<>11
AND "O"."TYPE#"<>12 AND "O"."TYPE#"<>13 AND "O"."TYPE#"<>14 AND
"O"."TYPE#"<>22 AND "O"."TYPE#"<>87 AND "O"."TYPE#"<>88 OR
BITAND("U"."SPARE1",16)=0 OR ("O"."TYPE#"=4 OR "O"."TYPE#"=5) AND
("U"."TYPE#"<>2 AND SYS_CONTEXT('userenv','current_edition_name')='ORA$BASE
' OR "U"."TYPE#"=2 AND "U"."SPARE2"=TO_NUMBER(SYS_CONTEXT('userenv','curren
t_edition_id')) OR EXISTS (SELECT 0 FROM SYS."USER$" "U2",SYS."OBJ$" "O2"
WHERE "O2"."OWNER#"="U2"."USER#" AND "O2"."TYPE#"=88 AND
"O2"."DATAOBJ#"=:B1 AND "U2"."TYPE#"=2 AND
"U2"."SPARE2"=TO_NUMBER(SYS_CONTEXT('userenv','current_edition_id')))))
4 - access("O"."OWNER#"="U"."USER#")
6 - access("O"."SPARE3"=USERENV('SCHEMAID') AND "O"."TYPE#">=2 AND
"O"."LINKNAME" IS NULL AND "O"."TYPE#"<=5)
filter("O"."TYPE#"<=5 AND "O"."TYPE#">=2 AND "O"."LINKNAME" IS NULL)
8 - access("O"."OBJ#"="T"."OBJ#"(+))
10 - access("U2"."TYPE#"=2 AND "U2"."SPARE2"=TO_NUMBER(SYS_CONTEXT('usere
nv','current_edition_id')))
filter("U2"."TYPE#"=2 AND "U2"."SPARE2"=TO_NUMBER(SYS_CONTEXT('usere
nv','current_edition_id')))
11 - access("O2"."DATAOBJ#"=:B1 AND "O2"."TYPE#"=88 AND
"O2"."OWNER#"="U2"."USER#")
SQL>
SQL>
SQL> select count(0) from tab;
Execution Plan
----------------------------------------------------------
Plan hash value: 1728992512
-----------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 44 | 106 (1)| 00:00:02 |
| 1 | SORT AGGREGATE | | 1 | 44 | | |
|* 2 | FILTER | | | | | |
| 3 | NESTED LOOPS OUTER | | 1270 | 55880 | 106 (1)| 00:00:02 |
|* 4 | HASH JOIN | | 1270 | 49530 | 31 (4)| 00:00:01 |
| 5 | INDEX FULL SCAN | I_USER2 | 93 | 2046 | 1 (0)| 00:00:01 |
|* 6 | INDEX RANGE SCAN | I_OBJ5 | 1270 | 21590 | 29 (0)| 00:00:01 |
| 7 | TABLE ACCESS CLUSTER| TAB$ | 1 | 5 | 1 (0)| 00:00:01 |
|* 8 | INDEX UNIQUE SCAN | I_OBJ# | 1 | | 0 (0)| 00:00:01 |
| 9 | NESTED LOOPS | | 1 | 29 | 2 (0)| 00:00:01 |
|* 10 | INDEX SKIP SCAN | I_USER2 | 1 | 20 | 1 (0)| 00:00:01 |
|* 11 | INDEX RANGE SCAN | I_OBJ4 | 1 | 9 | 1 (0)| 00:00:01 |
-----------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - filter("O"."TYPE#"<>4 AND "O"."TYPE#"<>5 AND "O"."TYPE#"<>7 AND
"O"."TYPE#"<>8 AND "O"."TYPE#"<>9 AND "O"."TYPE#"<>10 AND "O"."TYPE#"<>11
AND "O"."TYPE#"<>12 AND "O"."TYPE#"<>13 AND "O"."TYPE#"<>14 AND
"O"."TYPE#"<>22 AND "O"."TYPE#"<>87 AND "O"."TYPE#"<>88 OR
BITAND("U"."SPARE1",16)=0 OR ("O"."TYPE#"=4 OR "O"."TYPE#"=5) AND
("U"."TYPE#"<>2 AND SYS_CONTEXT('userenv','current_edition_name')='ORA$BASE
' OR "U"."TYPE#"=2 AND "U"."SPARE2"=TO_NUMBER(SYS_CONTEXT('userenv','curren
t_edition_id')) OR EXISTS (SELECT 0 FROM SYS."USER$" "U2",SYS."OBJ$" "O2"
WHERE "O2"."OWNER#"="U2"."USER#" AND "O2"."TYPE#"=88 AND
"O2"."DATAOBJ#"=:B1 AND "U2"."TYPE#"=2 AND
"U2"."SPARE2"=TO_NUMBER(SYS_CONTEXT('userenv','current_edition_id')))))
4 - access("O"."OWNER#"="U"."USER#")
6 - access("O"."SPARE3"=USERENV('SCHEMAID') AND "O"."TYPE#">=2 AND
"O"."LINKNAME" IS NULL AND "O"."TYPE#"<=5)
filter("O"."TYPE#"<=5 AND "O"."TYPE#">=2 AND "O"."LINKNAME" IS NULL)
8 - access("O"."OBJ#"="T"."OBJ#"(+))
10 - access("U2"."TYPE#"=2 AND "U2"."SPARE2"=TO_NUMBER(SYS_CONTEXT('usere
nv','current_edition_id')))
filter("U2"."TYPE#"=2 AND "U2"."SPARE2"=TO_NUMBER(SYS_CONTEXT('usere
nv','current_edition_id')))
11 - access("O2"."DATAOBJ#"=:B1 AND "O2"."TYPE#"=88 AND
"O2"."OWNER#"="U2"."USER#")
SQL>
No comments:
Post a Comment