【Oracle】如何查询并行是否起作用?

简介: sql 使用了并行提示或者 parallel 关键字!1) 在SQL执行的时候,在PL/SQL DEV看是否有多个活动会话执行一个SQL2) SQL执行完了以后,在同一个会话查询v$pq_sesstatV$PQ_SESSTAT视图中的输出结果仅仅指当前的...
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)信息相比较。
关于
目录
相关文章
|
5月前
|
SQL Oracle 关系型数据库
Oracle查询优化-查询只包含数字或字母的数据
【2月更文挑战第4天】【2月更文挑战第10篇】查询只包含数字或字母的数据
698 1
|
11月前
|
存储 Oracle 关系型数据库
Oracle 代码异常查询(五)
Oracle 代码异常查询
283 0
|
3月前
|
SQL Oracle 关系型数据库
关系型数据库Oracle并行查询
【7月更文挑战第12天】
92 15
|
3月前
|
Oracle 关系型数据库 数据处理
|
3月前
|
SQL 监控 Oracle
|
3月前
|
SQL 监控 Oracle
|
5月前
|
SQL Oracle 关系型数据库
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
109 0
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
|
5月前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之在 DataWorks 中,使用Oracle作为数据源进行数据映射和查询,如何更改数据源为MaxCompute或其他类型
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
67 1
|
11月前
|
SQL Oracle 关系型数据库
Oracle 代码异常查询(九)
Oracle 代码异常查询
358 0
|
5月前
|
SQL Oracle 关系型数据库
Oracle系列之八:SQL查询
Oracle系列之八:SQL查询

推荐镜像

更多