Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SQL> CREATE TABLE t1 AS SELECT LEVEL x FROM dual CONNECT BY level<=10000;
- TABLE created.
- SQL> CREATE TABLE t2 AS SELECT LEVEL x FROM dual CONNECT BY level<=10;
- TABLE created.
- SQL> CALL dbms_stats.gather_table_stats('','t1');
- CALL completed.
- SQL> CALL dbms_stats.gather_table_stats('','t2');
- CALL completed.
- SQL> EXPLAIN PLAN FOR SELECT * FROM t1,t2 WHERE t1.x=t2.x(+);
- Explained.
- SQL> SELECT * FROM TABLE(dbms_xplan.display('','','+outline'));
- PLAN_TABLE_OUTPUT
- ------------------------------------------------------------------------------
- PLAN hash VALUE: 312430291
- ------------------------------------------------------------------------------
- | Id | Operation | Name | ROWS | Bytes | COST (%CPU)| TIME |
- ------------------------------------------------------------------------------
- | 0 | SELECT STATEMENT | | 10000 | 70000 | 8 (0)| 00:00:01 |
- |* 1 | HASH JOIN RIGHT OUTER| | 10000 | 70000 | 8 (0)| 00:00:01 |
- | 2 | TABLE ACCESS FULL | T2 | 10 | 30 | 2 (0)| 00:00:01 |
- | 3 | TABLE ACCESS FULL | T1 | 10000 | 40000 | 6 (0)| 00:00:01 |
- ------------------------------------------------------------------------------
- OUTLINE Data
- -------------
- /*+
- BEGIN_OUTLINE_DATA
- SWAP_JOIN_INPUTS(@"SEL$1" "T2"@"SEL$1")
- USE_HASH(@"SEL$1" "T2"@"SEL$1")
- LEADING(@"SEL$1" "T1"@"SEL$1" "T2"@"SEL$1")
- FULL(@"SEL$1" "T2"@"SEL$1")
- FULL(@"SEL$1" "T1"@"SEL$1")
- OUTLINE_LEAF(@"SEL$1")
- ALL_ROWS
- DB_VERSION('12.2.0.1')
- OPTIMIZER_FEATURES_ENABLE('12.2.0.1')
- IGNORE_OPTIM_EMBEDDED_HINTS
- END_OUTLINE_DATA
- */
- Predicate Information (IDENTIFIED BY operation id):
- ---------------------------------------------------
- 1 - ACCESS("T1"."X"="T2"."X"(+))
- 33 ROWS selected.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement