use_nl,use_hash,use_merge的HINT用法。

SQL> select count(*) from a,b where a.object_id=b.object_id;
已用时间:  00: 00: 00.00

执行计划
----------------------------------------------------------                                                                                              
Plan hash value: 2064530317                                                                                                                             
                                                                                                                                                        
----------------------------------------------------------------------------------------------                                                          
| Id  | Operation              | Name        | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |                                                          
----------------------------------------------------------------------------------------------                                                          
|   0 | SELECT STATEMENT       |             |     1 |     8 |       |   498  (10)| 00:00:06 |                                                          
|   1 |  SORT AGGREGATE        |             |     1 |     8 |       |            |          |                                                          
|*  2 |   HASH JOIN            |             |  1844K|    14M|  2024K|   498  (10)| 00:00:06 |                                                          
|   3 |    INDEX FAST FULL SCAN| A_OBJECT_ID |   129K|   504K|       |    77   (4)| 00:00:01 |                                                          
|   4 |    INDEX FAST FULL SCAN| B_OBJECT_ID |   210K|   823K|       |   123   (5)| 00:00:02 |                                                          
----------------------------------------------------------------------------------------------                                                          
                                                                                                                                                        
Predicate Information (identified by operation id):                                                                                                     
---------------------------------------------------                                                                                                     
                                                                                                                                                        
   2 - access("A"."OBJECT_ID"="B"."OBJECT_ID")                                                                                                          

SQL> select /*+ use_nl(a,b) */count(*) from a,b where a.object_id=b.object_id;
已用时间:  00: 00: 00.01

执行计划
----------------------------------------------------------                                                                                              
Plan hash value: 89762486                                                                                                                               
                                                                                                                                                        
--------------------------------------------------------------------------------------                                                                  
| Id  | Operation              | Name        | Rows  | Bytes | Cost (%CPU)| Time     |                                                                  
--------------------------------------------------------------------------------------                                                                  
|   0 | SELECT STATEMENT       |             |     1 |     8 |   129K  (1)| 00:25:54 |                                                                  
|   1 |  SORT AGGREGATE        |             |     1 |     8 |            |          |                                                                  
|   2 |   NESTED LOOPS         |             |  1844K|    14M|   129K  (1)| 00:25:54 |                                                                  
|   3 |    INDEX FAST FULL SCAN| A_OBJECT_ID |   129K|   504K|    77   (4)| 00:00:01 |                                                                  
|*  4 |    INDEX RANGE SCAN    | B_OBJECT_ID |    14 |    56 |     1   (0)| 00:00:01 |                                                                  
--------------------------------------------------------------------------------------                                                                  
                                                                                                                                                        
Predicate Information (identified by operation id):                                                                                                     
---------------------------------------------------                                                                                                     
                                                                                                                                                        
   4 - access("A"."OBJECT_ID"="B"."OBJECT_ID")                                                                                                          

SQL> select /*+ ordered use_nl(a,b) */count(*) from a,b where a.object_id=b.object_id;
已用时间:  00: 00: 00.00

执行计划
----------------------------------------------------------                                                                                              
Plan hash value: 89762486                                                                                                                               
                                                                                                                                                        
--------------------------------------------------------------------------------------                                                                  
| Id  | Operation              | Name        | Rows  | Bytes | Cost (%CPU)| Time     |                                                                  
--------------------------------------------------------------------------------------                                                                  
|   0 | SELECT STATEMENT       |             |     1 |     8 |   129K  (1)| 00:25:54 |                                                                  
|   1 |  SORT AGGREGATE        |             |     1 |     8 |            |          |                                                                  
|   2 |   NESTED LOOPS         |             |  1844K|    14M|   129K  (1)| 00:25:54 |                                                                  
|   3 |    INDEX FAST FULL SCAN| A_OBJECT_ID |   129K|   504K|    77   (4)| 00:00:01 |                                                                  
|*  4 |    INDEX RANGE SCAN    | B_OBJECT_ID |    14 |    56 |     1   (0)| 00:00:01 |                                                                  
--------------------------------------------------------------------------------------                                                                  
                                                                                                                                                        
Predicate Information (identified by operation id):                                                                                                     
---------------------------------------------------                                                                                                     
                                                                                                                                                        
   4 - access("A"."OBJECT_ID"="B"."OBJECT_ID")                                                                                                          

SQL> select /*+ ordered use_nl(b,a) */count(*) from b,a where a.object_id=b.object_id;
已用时间:  00: 00: 00.00

执行计划
----------------------------------------------------------                                                                                              
Plan hash value: 461217448                                                                                                                              
                                                                                                                                                        
--------------------------------------------------------------------------------------                                                                  
| Id  | Operation              | Name        | Rows  | Bytes | Cost (%CPU)| Time     |                                                                  
--------------------------------------------------------------------------------------                                                                  
|   0 | SELECT STATEMENT       |             |     1 |     8 |   211K  (1)| 00:42:16 |                                                                  
|   1 |  SORT AGGREGATE        |             |     1 |     8 |            |          |                                                                  
|   2 |   NESTED LOOPS         |             |  1844K|    14M|   211K  (1)| 00:42:16 |                                                                  
|   3 |    INDEX FAST FULL SCAN| B_OBJECT_ID |   210K|   823K|   123   (5)| 00:00:02 |                                                                  
|*  4 |    INDEX RANGE SCAN    | A_OBJECT_ID |     9 |    36 |     1   (0)| 00:00:01 |                                                                  
--------------------------------------------------------------------------------------                                                                  
                                                                                                                                                        
Predicate Information (identified by operation id):                                                                                                     
---------------------------------------------------                                                                                                     
                                                                                                                                                        
   4 - access("A"."OBJECT_ID"="B"."OBJECT_ID")                                                                                                          

SQL> select /*+  use_nl(b,a) */count(*) from b,a where a.object_id=b.object_id;
已用时间:  00: 00: 00.00

执行计划
----------------------------------------------------------                                                                                              
Plan hash value: 89762486                                                                                                                               
                                                                                                                                                        
--------------------------------------------------------------------------------------                                                                  
| Id  | Operation              | Name        | Rows  | Bytes | Cost (%CPU)| Time     |                                                                  
--------------------------------------------------------------------------------------                                                                  
|   0 | SELECT STATEMENT       |             |     1 |     8 |   129K  (1)| 00:25:54 |                                                                  
|   1 |  SORT AGGREGATE        |             |     1 |     8 |            |          |                                                                  
|   2 |   NESTED LOOPS         |             |  1844K|    14M|   129K  (1)| 00:25:54 |                                                                  
|   3 |    INDEX FAST FULL SCAN| A_OBJECT_ID |   129K|   504K|    77   (4)| 00:00:01 |                                                                  
|*  4 |    INDEX RANGE SCAN    | B_OBJECT_ID |    14 |    56 |     1   (0)| 00:00:01 |                                                                  
--------------------------------------------------------------------------------------                                                                  
                                                                                                                                                        
Predicate Information (identified by operation id):                                                                                                     
---------------------------------------------------                                                                                                     
                                                                                                                                                        
   4 - access("A"."OBJECT_ID"="B"."OBJECT_ID")                                                                                                          

SQL> select /*+ ordered use_hash(b,a) */count(*) from b,a where a.object_id=b.object_id;
已用时间:  00: 00: 00.00

执行计划
----------------------------------------------------------                                                                                              
Plan hash value: 291674056                                                                                                                              
                                                                                                                                                        
----------------------------------------------------------------------------------------------                                                          
| Id  | Operation              | Name        | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |                                                          
----------------------------------------------------------------------------------------------                                                          
|   0 | SELECT STATEMENT       |             |     1 |     8 |       |   498  (10)| 00:00:06 |                                                          
|   1 |  SORT AGGREGATE        |             |     1 |     8 |       |            |          |                                                          
|*  2 |   HASH JOIN            |             |  1844K|    14M|  3296K|   498  (10)| 00:00:06 |                                                          
|   3 |    INDEX FAST FULL SCAN| B_OBJECT_ID |   210K|   823K|       |   123   (5)| 00:00:02 |                                                          
|   4 |    INDEX FAST FULL SCAN| A_OBJECT_ID |   129K|   504K|       |    77   (4)| 00:00:01 |                                                          
----------------------------------------------------------------------------------------------                                                          
                                                                                                                                                        
Predicate Information (identified by operation id):                                                                                                     
---------------------------------------------------                                                                                                     
                                                                                                                                                        
   2 - access("A"."OBJECT_ID"="B"."OBJECT_ID")                                                                                                          

SQL> select /*+ ordered use_hash(a,b) */count(*) from a,b where a.object_id=b.object_id;
已用时间:  00: 00: 00.01

执行计划
----------------------------------------------------------                                                                                              
Plan hash value: 2064530317                                                                                                                             
                                                                                                                                                        
----------------------------------------------------------------------------------------------                                                          
| Id  | Operation              | Name        | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |                                                          
----------------------------------------------------------------------------------------------                                                          
|   0 | SELECT STATEMENT       |             |     1 |     8 |       |   498  (10)| 00:00:06 |                                                          
|   1 |  SORT AGGREGATE        |             |     1 |     8 |       |            |          |                                                          
|*  2 |   HASH JOIN            |             |  1844K|    14M|  2024K|   498  (10)| 00:00:06 |                                                          
|   3 |    INDEX FAST FULL SCAN| A_OBJECT_ID |   129K|   504K|       |    77   (4)| 00:00:01 |                                                          
|   4 |    INDEX FAST FULL SCAN| B_OBJECT_ID |   210K|   823K|       |   123   (5)| 00:00:02 |                                                          
----------------------------------------------------------------------------------------------                                                          
                                                                                                                                                        
Predicate Information (identified by operation id):                                                                                                     
---------------------------------------------------                                                                                                     
                                                                                                                                                        
   2 - access("A"."OBJECT_ID"="B"."OBJECT_ID")                                                                                                          

SQL> select /*+ use_hash(b,a) */count(*) from b,a where a.object_id=b.object_id;
已用时间:  00: 00: 00.00

执行计划
----------------------------------------------------------                                                                                              
Plan hash value: 2064530317                                                                                                                             
                                                                                                                                                        
----------------------------------------------------------------------------------------------                                                          
| Id  | Operation              | Name        | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |                                                          
----------------------------------------------------------------------------------------------                                                          
|   0 | SELECT STATEMENT       |             |     1 |     8 |       |   498  (10)| 00:00:06 |                                                          
|   1 |  SORT AGGREGATE        |             |     1 |     8 |       |            |          |                                                          
|*  2 |   HASH JOIN            |             |  1844K|    14M|  2024K|   498  (10)| 00:00:06 |                                                          
|   3 |    INDEX FAST FULL SCAN| A_OBJECT_ID |   129K|   504K|       |    77   (4)| 00:00:01 |                                                          
|   4 |    INDEX FAST FULL SCAN| B_OBJECT_ID |   210K|   823K|       |   123   (5)| 00:00:02 |                                                          
----------------------------------------------------------------------------------------------                                                          
                                                                                                                                                        
Predicate Information (identified by operation id):                                                                                                     
---------------------------------------------------                                                                                                     
                                                                                                                                                        
   2 - access("A"."OBJECT_ID"="B"."OBJECT_ID")                                                                                                          

SQL> select /*+ use_merge(a,b) */count(*) from a,b where a.object_id=b.object_id;
已用时间:  00: 00: 00.01

执行计划
----------------------------------------------------------                                                                                              
Plan hash value: 3197909081                                                                                                                             
                                                                                                                                                        
-----------------------------------------------------------------------------------------------                                                         
| Id  | Operation               | Name        | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |                                                         
-----------------------------------------------------------------------------------------------                                                         
|   0 | SELECT STATEMENT        |             |     1 |     8 |       |   966   (7)| 00:00:12 |                                                         
|   1 |  SORT AGGREGATE         |             |     1 |     8 |       |            |          |                                                         
|   2 |   MERGE JOIN            |             |  1844K|    14M|       |   966   (7)| 00:00:12 |                                                         
|   3 |    INDEX FULL SCAN      | B_OBJECT_ID |   210K|   823K|       |   474   (2)| 00:00:06 |                                                         
|*  4 |    SORT JOIN            |             |   129K|   504K|  3048K|   464   (5)| 00:00:06 |                                                         
|   5 |     INDEX FAST FULL SCAN| A_OBJECT_ID |   129K|   504K|       |    77   (4)| 00:00:01 |                                                         
-----------------------------------------------------------------------------------------------                                                         
                                                                                                                                                        
Predicate Information (identified by operation id):                                                                                                     
---------------------------------------------------                                                                                                     
                                                                                                                                                        
   4 - access("A"."OBJECT_ID"="B"."OBJECT_ID")                                                                                                          
       filter("A"."OBJECT_ID"="B"."OBJECT_ID")                                                                                                          

SQL> select /*+ ordered use_merge(b,a) */count(*) from b,a where a.object_id=b.object_id;
已用时间:  00: 00: 00.01

执行计划
----------------------------------------------------------                                                                                              
Plan hash value: 3197909081                                                                                                                             
                                                                                                                                                        
-----------------------------------------------------------------------------------------------                                                         
| Id  | Operation               | Name        | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |                                                         
-----------------------------------------------------------------------------------------------                                                         
|   0 | SELECT STATEMENT        |             |     1 |     8 |       |   966   (7)| 00:00:12 |                                                         
|   1 |  SORT AGGREGATE         |             |     1 |     8 |       |            |          |                                                         
|   2 |   MERGE JOIN            |             |  1844K|    14M|       |   966   (7)| 00:00:12 |                                                         
|   3 |    INDEX FULL SCAN      | B_OBJECT_ID |   210K|   823K|       |   474   (2)| 00:00:06 |                                                         
|*  4 |    SORT JOIN            |             |   129K|   504K|  3048K|   464   (5)| 00:00:06 |                                                         
|   5 |     INDEX FAST FULL SCAN| A_OBJECT_ID |   129K|   504K|       |    77   (4)| 00:00:01 |                                                         
-----------------------------------------------------------------------------------------------                                                         
                                                                                                                                                        
Predicate Information (identified by operation id):                                                                                                     
---------------------------------------------------                                                                                                     
                                                                                                                                                        
   4 - access("A"."OBJECT_ID"="B"."OBJECT_ID")                                                                                                          
       filter("A"."OBJECT_ID"="B"."OBJECT_ID")                                                                                                          

SQL> select /*+ ordered use_merge(a,b) */count(*) from a,b where a.object_id=b.object_id;
已用时间:  00: 00: 00.01

执行计划
----------------------------------------------------------                                                                                              
Plan hash value: 3063902891                                                                                                                             
                                                                                                                                                        
-----------------------------------------------------------------------------------------------                                                         
| Id  | Operation               | Name        | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |                                                         
-----------------------------------------------------------------------------------------------                                                         
|   0 | SELECT STATEMENT        |             |     1 |     8 |       |  1076   (7)| 00:00:13 |                                                         
|   1 |  SORT AGGREGATE         |             |     1 |     8 |       |            |          |                                                         
|   2 |   MERGE JOIN            |             |  1844K|    14M|       |  1076   (7)| 00:00:13 |                                                         
|   3 |    INDEX FULL SCAN      | A_OBJECT_ID |   129K|   504K|       |   294   (2)| 00:00:04 |                                                         
|*  4 |    SORT JOIN            |             |   210K|   823K|  4984K|   754   (5)| 00:00:10 |                                                         
|   5 |     INDEX FAST FULL SCAN| B_OBJECT_ID |   210K|   823K|       |   123   (5)| 00:00:02 |                                                         
-----------------------------------------------------------------------------------------------                                                         
                                                                                                                                                        
Predicate Information (identified by operation id):                                                                                                     
---------------------------------------------------                                                                                                     
                                                                                                                                                        
   4 - access("A"."OBJECT_ID"="B"."OBJECT_ID")                                                                                                          
       filter("A"."OBJECT_ID"="B"."OBJECT_ID")                                                                                                          

SQL> spool off

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22034023/viewspace-662719/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22034023/viewspace-662719/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值