/*+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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM