zoukankan      html  css  js  c++  java
  • /*+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
  • 相关阅读:
    使用线程的场景
    进程和线程的区别
    线程基础
    Python程序中的进程操作-进程池(multiprocess.Pool)
    Python程序中的进程操作-进程间数据共享(multiprocess.Manager)
    Python程序中的进程操作-进程间通信(multiprocess.Queue)
    Python程序中的进程操作-进程同步(multiprocess.Lock)
    Python程序中的进程操作-开启多进程(multiprocess.process)
    关于<a>标签的onclick与href的执行顺序
    SQLServer2008不允许保存更改
  • 原文地址:https://www.cnblogs.com/diyunpeng/p/6970598.html
Copyright © 2011-2022 走看看