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可能是根据自己的判断,哪种执行计划优,就选择哪种