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或者gv
V$px_sesstat
可以查看
注意V$PX_SESSTAT的名称与此类似,但列的设置完全不同。V$PX_SESSTAT视图将V$PX_SESSTAT的会话信息与V$SESSTAT表连接。V$PX_SESSION视图也可以提供进程请求的并行度(req_degree)的信息,并将其与实际使用的并行度(degree)信息相比较。
关于