【Oracle】如何查詢並行是否起作用?
sql 使用了並行提示或者 parallel 關鍵字!
1) 在SQL執行的時候,在PL/SQL DEV看是否有多個活動會話執行一個SQL
2) SQL執行完了以後,在同一個會話查詢v$pq_sesstat
V$PQ_SESSTAT檢視中的輸出結果僅僅指當前的會話,查詢不了其他會話的並行執行的情況,使用該檢視可以
ops$admin@yangdb>select * from v$pq_sesstat;
STATISTIC LAST_QUERY SESSION_TOTAL
------------------------------ ---------- -------------
Queries Parallelized 0 0
DML Parallelized 0 0
DDL Parallelized 0 0
DFO Trees 0 0
Server Threads 0 0
Allocation Height 0 0
Allocation Width 0 0
Local Msgs Sent 0 0
Distr Msgs Sent 0 0
Local Msgs Recv'd 0 0
Distr Msgs Recv'd 0 0
11 rows selected.
ops$admin@yangdb>select /*+ parallel(e,2) */ count(*) from dba_objects e ;
COUNT(*)
----------
110586
ops$admin@yangdb>select * from v$pq_sesstat;
STATISTIC LAST_QUERY SESSION_TOTAL
------------------------------ ---------- -------------
Queries Parallelized 1 1 --並行查詢
DML Parallelized 0 0 --並行DML
DDL Parallelized 0 0 --並行DDL
DFO Trees 1 1
Server Threads 2 0
Allocation Height 2 0
Allocation Width 1 0
Local Msgs Sent 205 205 --本地傳送的資訊
Distr Msgs Sent 0 0
Local Msgs Recv'd 205 205 --本地接受的資訊
Distr Msgs Recv'd 0 0
3) 檢視sql的執行計劃
| PX SEND QC (RANDOM) |:TQ10004 | 17M| 2G| 375209 |
| WINDOW SORT | | 17M| 2G| 375209 |
| PX RECEIVE | | 17M| 2G| 213700 |
| PX SEND HASH |:TQ10003 | 17M| 2G| 213700 |
| HASH JOIN RIGHT OUTER | | 17M| 2G| 213700 |
| BUFFER SORT | | | | |
| PX RECEIVE | | 2M| 49M| 5648 |
| PX SEND BROADCAST |:TQ10000 | 2M| 49M| 5648 |
| TABLE ACCESS FULL |TBDM | 2M| 49M| 5648 |
| HASH JOIN RIGHT OUTER | | 17M| 2G| 208026 |
| BUFFER SORT | | | | |
| PX RECEIVE | | 2M| 87M| 4430 |
| PX SEND BROADCAST |:TQ10001 | 2M| 87M| 4430 |
| TABLE ACCESS FULL |T_IDL | 2M| 87M| 4430 |
| HASH JOIN RIGHT OUTER | | 17M| 1G| 203572 |
| BUFFER SORT | | | | |
| PX RECEIVE | | 1M| 53M| 113082 |
| PX SEND BROADCAST |:TQ10002 | 1M| 53M| 113082 |
| TABLE ACCESS FULL |DM | 1M| 53M| 113082 |
| PX BLOCK ITERATOR | | 17M| 820M| 90465 |
| TABLE ACCESS FULL |IDL | 17M| 820M| 90465 |
4)使用V$PX_SESSTAT或者gvV$px_sesstat 可以檢視
注意V$PX_SESSTAT的名稱與此類似,但列的設定完全不同。V$PX_SESSTAT檢視將V$PX_SESSTAT的會話資訊與V$SESSTAT表連線。V$PX_SESSION檢視也可以提供程式請求的並行度(req_degree)的資訊,並將其與實際使用的並行度(degree)資訊相比較。
關於
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-721379/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle並行操作——並行查詢(Parallel Query)Oracle並行Parallel
- union的兩個子查詢是否並行並行
- oracle表查詢的並行度Oracle並行
- oracle並行查詢一例薦Oracle並行
- DM並行查詢並行
- oracle 並行查詢時並行資源分配追蹤測試Oracle並行
- oracle 並行cpu查詢分割槽表測試Oracle並行
- PostgreSQL並行查詢概述SQL並行
- laravel eloquent 判斷索引是否存在並強制指定索引進行查詢Laravel索引
- 表和索引並行查詢索引並行
- 如何查詢一個儲存過程是否在執行儲存過程
- [ORACLE BUG]查詢結果錯誤--臨時表並行Oracle並行
- Oracle11gRAC跨節點 並行查詢的控制Oracle並行
- 查詢並解除oracle的死鎖Oracle
- 並行HINT並不一定起作用。並行
- 並行查詢並行度Degree與instances 設定並行
- 什麼是並行查詢及其原理並行
- 用並行查詢讓SQL Server加速執行並行SQLServer
- 如何抽取Oracle資料到文字文件進行查詢NAOracle
- oracle資料庫建立Squence序列並查詢Oracle資料庫
- 查詢並刪除Oracle中等待的鎖Oracle
- PostgreSQL並行查詢相關配置引數SQL並行
- RAC中的並行查詢 DOP(Degree of Parallelism)並行Parallel
- TDSQL-C 並行查詢技術探索SQL並行
- 並行查詢緩慢的問題分析並行
- RAC環境對並行查詢的支援並行
- 查詢物件是否被鎖物件
- 查詢DB物件是否同步物件
- Oracle如何查詢當前LockOracle
- Elasticsearch 或並查詢Elasticsearch
- oracle 查詢所有表的行數Oracle
- oracle 正在執行的物件查詢Oracle物件
- 【效能】Oracle表並行對邏輯遷移後查詢效能的影響Oracle並行
- Parallel Query Tuning(並行化查詢優化)Parallel並行優化
- 如何取得Oracle並行執行的traceOracle並行
- sql查詢是如何執行的?SQL
- Oracle查詢並批量編譯無效物件指令碼Oracle編譯物件指令碼
- Oracle 查詢Oracle