Parallel DML in 12c => /*+ parallel enable_parallel_dml */
Eine sehr gute Erklärung zum PARALLEL Insert ab 12.1.0.2 findet sind hier:
Quelle: https://blog.dbi-services.com/parallel-dml-in-12c/
aus dem Post:
=> The select part is done in parallel (it’s below the coordinator) but the insert part (LOAD TABLE) is above the coordinator, which means that it is done in serial by the coordinator.
Beispiel 2
Quelle: https://blog.dbi-services.com/parallel-dml-in-12c/
aus dem Post:
-----------------------------------------------------------------------------------------------
| Id | Operation |
Name
| Starts | E-
Rows
| A-
Rows
| A-
Time
| Buffers |
-----------------------------------------------------------------------------------------------
| 0 |
INSERT
STATEMENT | | 1 | | 0 |00:00:17.40 | 24311 |
| 1 |
LOAD
TABLE
CONVENTIONAL | DEMO2 | 1 | | 0 |00:00:17.40 | 24311 |
| 2 | PX COORDINATOR | | 1 | | 1000K|00:00:04.49 | 5 |
| 3 | PX SEND QC (RANDOM) | :TQ10000 | 0 | 1000K| 0 |00:00:00.01 | 0 |
| 4 | PX BLOCK ITERATOR | | 0 | 1000K| 0 |00:00:00.01 | 0 |
|* 5 |
TABLE
ACCESS
FULL
| DEMO1 | 0 | 1000K| 0 |00:00:00.01 | 0 |
-----------------------------------------------------------------------------------------------
Note
-----
- Degree
of
Parallelism
is
2 because
of
table
property
- PDML
is
disabled
in
current
session
=> The select part is done in parallel (it’s below the coordinator) but the insert part (LOAD TABLE) is above the coordinator, which means that it is done in serial by the coordinator.
Beispiel 2
insert
/*+ parallel enable_parallel_dml */
into
DEMO2
select
*
from
DEMO1
Plan hash value: 86785878
-------------------------------------------------------------------------------------------------------
| Id | Operation |
Name
| Starts | A-
Rows
| Buffers | OMem |1Mem | Used-Mem |
-------------------------------------------------------------------------------------------------------
| 0 |
INSERT
STATEMENT | | 1 | 4 | 136 | | | |
| 1 | PX COORDINATOR | | 1 | 4 | 136 | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10| 0 | 0 | 0 | | | |
| 3 |
LOAD
AS
SELECT
(HYBRID TSM/HWMB)| | 0 | 0 | 0 | 33M| 33M| 2068K (0)|
| 4 | OPTIMIZER
STATISTICS
GATHERING | | 0 | 0 | 0 | | | |
| 5 | PX BLOCK ITERATOR | | 0 | 0 | 0 | | | |
|* 6 |
TABLE
ACCESS
FULL
| DEMO1| 0 | 0 | 0 | | | |
-------------------------------------------------------------------------------------------------------
Note
-----
- automatic DOP: Computed Degree
of
Parallelism
is
2
=> Here PDML occurred. We know that because of the load operator under the coordinator
Kommentare
Kommentar veröffentlichen