9i並行執行的限制
SELECT zsxh_dk, pzxh, zspzxh, nsr_key, nsrsbh, nsrmc, nsbm,
hy_dm, djzclx_dm, nsrzt_dm, nsr_swjg_dm, sssq_q_sk, sssq_z_sk
FROM ft_sb_zsxx
SQL> select decode(a.QCSERIAL#, null, 'PARENT', 'CHILD') stmt_level,
2 a.SID,
3 a.SERIAL#,
4 b.USERNAME,
5 b.OSUSER,
6 b.SQL_HASH_VALUE,
7 b.SQL_ADDRESS,
8 a.DEGREE,
9 a.REQ_DEGREE
10 from v$px_session a, v$session b
11 where a.SID = b.SID
12 order by a.QCSID, stmt_level desc;
STMT_L SID SERIAL# USERN OSUSER SQL_HASH_VALUE SQL_ADDRESS DEGREE REQ_DEGREE
------ ---------- ---------- ----- --------------- -------------- ---------------- ---------- ----------
PARENT 32 43 JCZC Administrator 0 00
CHILD 26 29 JCZC Administrator 1545317109 07000000539253F8 4 8
CHILD 25 45 JCZC Administrator 1545317109 07000000539253F8 4 8
CHILD 34 7 JCZC Administrator 1545317109 07000000539253F8 4 8
CHILD 36 3 JCZC Administrator 1545317109 07000000539253F8 4 8
由於可能存在程式碼欄位在程式碼表中不能找到,所以需要替換
SELECT ZSXH_DK,PZXH,ZSPZXH, NSR_KEY,NSRSBH,NSRMC,NSBM,
nvl((SELECT A.HYML_DM FROM DI_HYML A WHERE A.HYML_DM = B.HY_DM),'ZZZZ') HY_DM,
DJZCLX_DM,NSRZT_DM,NSR_SWJG_DM,SSSQ_Q_SK,SSSQ_Z_SK
FROM FT_SB_ZSXX B
SQL> select decode(a.QCSERIAL#, null, 'PARENT', 'CHILD') stmt_level,
2 a.SID,
3 a.SERIAL#,
4 b.USERNAME,
5 b.OSUSER,
6 b.SQL_HASH_VALUE,
7 b.SQL_ADDRESS,
8 a.DEGREE,
9 a.REQ_DEGREE
10 from v$px_session a, v$session b
11 where a.SID = b.SID
12 order by a.QCSID, stmt_level desc;
no rows selected
這個時候是無法並行的,加了提示仍然不行
SELECT /*+parallel(B,4)*/ZSXH_DK,PZXH,ZSPZXH, NSR_KEY,NSRSBH,NSRMC,NSBM,
nvl((SELECT A.HYML_DM FROM DI_HYML A WHERE A.HYML_DM = B.HY_DM),'ZZZZ') HY_DM,
DJZCLX_DM,NSRZT_DM,NSR_SWJG_DM,SSSQ_Q_SK,SSSQ_Z_SK
FROM FT_SB_ZSXX B
回來測試了下,發現10g可以並行
SQL> SELECT DEGREE FROM dba_tables WHERE table_name='TEST' AND wner='CTAIS2'
2 ;
DEGREE
----------
8
alter session set "_px_trace"= "all";
SELECT A.*,
NVL((SELECT B.SWJG_DM FROM DM_SWJG B WHERE B.SWJG_DM = A.FLAG), 'z') swjg
FROM TEST A
alter session set "_px_trace"= "none";
在跟蹤檔案中可以看到ORACLE在計算並行度
但是在9i下,TRACE檔案感覺是隻列出了表或者提示的並行屬性,就突然中斷了。
估計是9i不允許這樣的並行執行。
另外,如果是insert ... select 這樣的語句,在9i下設定了
alter session force parallel dml,看起來是並行執行的,但是不過並行salve的子SQL
發現其並行的是INSERT操作,並不是SELECT操作
我們的應用主要是點陣圖索引,怕多個子程式相互造成鎖,索引就打住,沒用這個設定
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8242091/viewspace-588742/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- systemverilog中for/foreach並行執行並行
- WRF WPS多核並行執行並行
- .net使用Task多執行緒執行任務 .net限制執行緒數量執行緒
- [Java併發]執行緒的並行等待Java執行緒並行
- 26、多執行緒與並行執行緒並行
- Web Worker執行緒的限制是什麼?Web執行緒
- Laravel 佇列執行頻率限制Laravel佇列
- 執行緒 並行 與 併發 的區別執行緒並行
- 多執行緒並行執行,然後彙總結果執行緒並行
- Oracle“並行執行”——監控檢視Oracle並行
- Docker部署並執行ElasticsearchDockerElasticsearch
- 從偽並行的 Python 多執行緒說起並行Python執行緒
- [20190219]xargs -P實現並行執行.txt並行
- [20210926]並行執行計劃疑問.txt並行
- 關於物件導向的方法並行執行的問題物件並行
- C#並行,多執行緒程式設計並行集合和PLINQ的例項講解並行執行緒程式設計
- 搭建go環境並執行Go
- parallel: 一個簡單的並行執行Go迴圈的庫Parallel並行Go
- Java多執行緒並行處理任務的實現Java執行緒並行
- python面試題之python下多執行緒的限制Python面試題執行緒
- iOS執行緒、同步非同步、序列並行佇列iOS執行緒非同步並行佇列
- Linux下編譯生成SO並進行呼叫執行Linux編譯
- Java併發(一)----程式、執行緒、並行、併發Java執行緒並行
- jenkins pipeline 釋出 jar並執行JenkinsJAR
- Java7提供的並行執行任務框架:Fork、Join框架Java並行框架
- Oracle 9i變數窺視引起執行計劃異常故障報告Oracle變數
- 11G R2中的並行執行,dbms_parallel_execute並行Parallel
- python執行shell並獲取結果Python
- 如何使用 appium+pytest 進行多機並行執行不同 case 檔案APP並行
- 程式執行緒、同步非同步、阻塞非阻塞、併發並行執行緒非同步並行
- 第19節 從庫MTS多執行緒並行回放(一)執行緒並行
- 第20節 從庫MTS多執行緒並行回放(二)執行緒並行
- 二十:從庫MTS多執行緒並行回放(二)(筆記)執行緒並行筆記
- 十九:從庫MTS多執行緒並行回放(一)(筆記)執行緒並行筆記
- php直播原始碼,PHP也能非同步和並行執行PHP原始碼非同步並行
- C#多執行緒開發-任務並行庫04C#執行緒並行
- ClusterShell:一個在叢集節點上並行執行命令的好工具並行
- 王鼎杯 RCE命令執行 五位元組限制
- 如何在LInux上安裝並執行JenkinsLinuxJenkins