您的位置:首页 > 数据库 > Oracle

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可能是根据自己的判断,哪种执行计划优,就选择哪种
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息