ORACLE执行计划-SQL语句开了并行oracle的执行情况
2010-08-03 19:45
561 查看
SQL语句开了并行oracle的执行情况,SQL语句开了并行oracle并不一定执行并行
SQL> explain plan for select /*+ parallel(a 4) */ count(1) from WS_CHANPIN a;
Explained.
Elapsed: 00:00:00.31
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 932259281
--------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time | Pstart| Pstop | TQ |IN-OUT| PQ Distrib |
--------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 3990 (1)| 00:01:12 | | | | | |
| 1 | SORT AGGREGATE | | 1 | | | | | | | |
| 2 | PX COORDINATOR | | | | | | | | | |
| 3 | PX SEND QC (RANDOM) | :TQ10000 | 1 | | | | | Q1,00 | P->S | QC (RAND) |
| 4 | SORT AGGREGATE | | 1 | | | | | Q1,00 | PCWP | |
| 5 | PX BLOCK ITERATOR | | 6300K| 3990 (1)| 00:01:12 | 1 | 68 | Q1,00 | PCWC | |
| 6 | TABLE ACCESS FULL| WS_CHANPIN | 6300K| 3990 (1)| 00:01:12 | 1 | 68 | Q1,00 | PCWP | |
--------------------------------------------------------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
17 rows selected.
Elapsed: 00:00:00.01
SQL> select owner,index_name from all_indexes where owner = 'ENODS' and table_name = upper('WS_CHANPIN');
OWNER INDEX_NAME
------------------------------ ------------------------------
ENODS WS_CHANPIN_PK
1 row selected.
Elapsed: 00:00:00.24
SQL> explain plan for select /*+ index(a WS_CHANPIN_PK) parallel(a 4) */ count(1) from WS_CHANPIN a;
Explained.
Elapsed: 00:00:00.26
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 2112227977
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 10565 (1)| 00:03:11 |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | INDEX FULL SCAN| WS_CHANPIN_PK | 6300K| 10565 (1)| 00:03:11 |
--------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
13 rows selected.
Elapsed: 00:00:00.02
结论:
oracle可能是根据自己的判断,哪种执行计划优,就选择哪种
SQL> explain plan for select /*+ parallel(a 4) */ count(1) from WS_CHANPIN a;
Explained.
Elapsed: 00:00:00.31
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 932259281
--------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time | Pstart| Pstop | TQ |IN-OUT| PQ Distrib |
--------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 3990 (1)| 00:01:12 | | | | | |
| 1 | SORT AGGREGATE | | 1 | | | | | | | |
| 2 | PX COORDINATOR | | | | | | | | | |
| 3 | PX SEND QC (RANDOM) | :TQ10000 | 1 | | | | | Q1,00 | P->S | QC (RAND) |
| 4 | SORT AGGREGATE | | 1 | | | | | Q1,00 | PCWP | |
| 5 | PX BLOCK ITERATOR | | 6300K| 3990 (1)| 00:01:12 | 1 | 68 | Q1,00 | PCWC | |
| 6 | TABLE ACCESS FULL| WS_CHANPIN | 6300K| 3990 (1)| 00:01:12 | 1 | 68 | Q1,00 | PCWP | |
--------------------------------------------------------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
17 rows selected.
Elapsed: 00:00:00.01
SQL> select owner,index_name from all_indexes where owner = 'ENODS' and table_name = upper('WS_CHANPIN');
OWNER INDEX_NAME
------------------------------ ------------------------------
ENODS WS_CHANPIN_PK
1 row selected.
Elapsed: 00:00:00.24
SQL> explain plan for select /*+ index(a WS_CHANPIN_PK) parallel(a 4) */ count(1) from WS_CHANPIN a;
Explained.
Elapsed: 00:00:00.26
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 2112227977
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 10565 (1)| 00:03:11 |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | INDEX FULL SCAN| WS_CHANPIN_PK | 6300K| 10565 (1)| 00:03:11 |
--------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
13 rows selected.
Elapsed: 00:00:00.02
结论:
oracle可能是根据自己的判断,哪种执行计划优,就选择哪种
相关文章推荐
- ORACLE执行计划-SQL语句开并行与不开并行在执行计划中的体现
- Oracle查看SQL语句的执行计划
- ORACLE DML LOCK时找出对应SESSION正在执行的SQL语句(ORA-12841,无法变更事务处理中的会话并行 DML 状态)
- ORACLE 查看有多个执行计划的SQL语句
- Oracle查看SQL语句的执行计划
- 分析oracle的sql语句的执行计划
- SQL语句性能调整之ORACLE的执行计划
- oracle中查看sql语句的执行计划
- Oracle SQL语句执行计划
- oracle优化4(sql语句性能诊断,sql执行计划)
- 有时候执行的oracle,sql语句要查看下性能情况,可以用这个进行下简单计算和统计
- SQL语句的执行计划(oracle表的三种链接方式)
- 使用Oracle自带的系统包和过程监控其它会话SQL语句的执行计划等信息
- Oracle中SQL语句执行计划,调优
- SQL语句性能调整之ORACLE的执行计划(一)
- Oracle执行计划发生过变化的SQL语句脚本
- Oracle 历史SQL语句执行计划的对比与分析
- 【Oracle】三种方式查看SQL语句的执行计划
- ORACLE里SQL语句的执行计划(二)