Advertisement
xtender

swap_join_inputs

Nov 2nd, 2017
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. SQL> CREATE TABLE t1 AS SELECT LEVEL x FROM dual CONNECT BY level<=10000;
  2.  
  3. TABLE created.
  4.  
  5. SQL> CREATE TABLE t2 AS SELECT LEVEL x FROM dual CONNECT BY level<=10;
  6.  
  7. TABLE created.
  8.  
  9. SQL> CALL dbms_stats.gather_table_stats('','t1');
  10.  
  11. CALL completed.
  12.  
  13. SQL> CALL dbms_stats.gather_table_stats('','t2');
  14.  
  15. CALL completed.
  16.  
  17. SQL> EXPLAIN PLAN FOR SELECT * FROM t1,t2 WHERE t1.x=t2.x(+);
  18.  
  19. Explained.
  20.  
  21. SQL> SELECT * FROM TABLE(dbms_xplan.display('','','+outline'));
  22.  
  23. PLAN_TABLE_OUTPUT
  24. ------------------------------------------------------------------------------
  25. PLAN hash VALUE: 312430291
  26.  
  27. ------------------------------------------------------------------------------
  28. | Id  | Operation             | Name | ROWS  | Bytes | COST (%CPU)| TIME     |
  29. ------------------------------------------------------------------------------
  30. |   0 | SELECT STATEMENT      |      | 10000 | 70000 |     8   (0)| 00:00:01 |
  31. |*  1 |  HASH JOIN RIGHT OUTER|      | 10000 | 70000 |     8   (0)| 00:00:01 |
  32. |   2 |   TABLE ACCESS FULL   | T2   |    10 |    30 |     2   (0)| 00:00:01 |
  33. |   3 |   TABLE ACCESS FULL   | T1   | 10000 | 40000 |     6   (0)| 00:00:01 |
  34. ------------------------------------------------------------------------------
  35.  
  36. OUTLINE Data
  37. -------------
  38.  
  39.   /*+
  40.       BEGIN_OUTLINE_DATA
  41.       SWAP_JOIN_INPUTS(@"SEL$1" "T2"@"SEL$1")
  42.       USE_HASH(@"SEL$1" "T2"@"SEL$1")
  43.       LEADING(@"SEL$1" "T1"@"SEL$1" "T2"@"SEL$1")
  44.       FULL(@"SEL$1" "T2"@"SEL$1")
  45.       FULL(@"SEL$1" "T1"@"SEL$1")
  46.       OUTLINE_LEAF(@"SEL$1")
  47.       ALL_ROWS
  48.       DB_VERSION('12.2.0.1')
  49.       OPTIMIZER_FEATURES_ENABLE('12.2.0.1')
  50.       IGNORE_OPTIM_EMBEDDED_HINTS
  51.       END_OUTLINE_DATA
  52.   */
  53.  
  54. Predicate Information (IDENTIFIED BY operation id):
  55. ---------------------------------------------------
  56.  
  57.    1 - ACCESS("T1"."X"="T2"."X"(+))
  58.  
  59. 33 ROWS selected.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement