/*+parallel(t,4)*/在SQL调优中的重要作用!

谈谈HINT /*+parallel(t,4)*/在SQL调优中的重要作用!

/*+parallel(t,4)*/在大表查询等操作中能够起到良好的效果,
基于并行查询要启动并行进程、分配任务与系统资源、合并结果集,这些都是比较消耗资源,
但我们为能够减少执行事务的时间使用parallel HINT还是值得的,尤其在ODS系统中报表统计等方面更有使用意义.
一般而言主要在如下情况使用parallel HINT
1.表的数据量很大,超过一千万; 
2.数据库主机是多个CPU;
3.系统的当前负载较低;
简单的测试如下,效果很明显的:
[sql] view plain copy
 
  1. SQL> select /*+parallel(t,4)*/count(*) from   t;  
  2.   
  3.   COUNT(*)  
  4. ----------  
  5.   30245882  
  6.   
  7. 已用时间:  00: 01: 32.04  
  8.   
  9. Execution Plan  
  10. ----------------------------------------------------------  
  11.    0      SELECT STATEMENT Optimizer=CHOOSE (Cost=5411 Card=1)  
  12.    1    0   SORT (AGGREGATE)  
  13.    2    1     SORT* (AGGREGATE)                                        :Q351880  
  14.                                                                        00  
  15.   
  16.    3    2       TABLE ACCESS* (FULL) OF 't' (Cost=5411 Car :Q351880  
  17.           d=2822493)                                                   00  
  18.   
  19.   
  20.   
  21.    2 PARALLEL_TO_SERIAL            SELECT /*+ PIV_SSF */ SYS_OP_MSR(COUNT(*)) F  
  22.                                    ROM (SELECT /*+ NO_EXPAND ROWID(A2)  
  23.   
  24.    3 PARALLEL_COMBINED_WITH_PARENT  
  25.   
  26. SQL> select count(*) from t;  
  27.   
  28.   COUNT(*)  
  29. ----------  
  30.   30245882  
  31.   
  32. 已用时间:  00: 04: 34.02  
  33.   
  34. Execution Plan  
  35. ----------------------------------------------------------  
  36.    0      SELECT STATEMENT Optimizer=CHOOSE  
  37.    1    0   SORT (AGGREGATE)  
  38.    2    1     TABLE ACCESS (FULL) OF 't'  
  39.   
  40.   
  41.   
  42. SQL>  


 
http://blog.csdn.net/u012354280/article/details/16369149
 
http://blog.csdn.net/fycghy0803/article/details/8082172
posted @ 2017-06-09 10:06  规格严格-功夫到家  阅读(2854)  评论(0编辑  收藏  举报