Oracle
PCWP、PCWC 和 P->S 是什麼意思?
Oracle 並行解釋計劃有一個名為 IN-OUT 的列,它通常包含值 P->S、PCWP 和 PCWC。這些值是什麼意思?
這是一個帶有 IN-OUT 列的範例解釋計劃:
-------------------------------------------------------------------------- | Id | Operation | Name | TQ |IN-OUT| PQ Distrib | -------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | | | | | 1 | PX COORDINATOR | | | | | | 2 | PX SEND QC (RANDOM) | :TQ10002 | Q1,02 | P->S | QC (RAND) | |* 3 | HASH JOIN | | Q1,02 | PCWP | | | 4 | PX RECEIVE | | Q1,02 | PCWP | | | 5 | PX SEND BROADCAST | :TQ10000 | Q1,00 | P->P | BROADCAST | | 6 | PX BLOCK ITERATOR | | Q1,00 | PCWC | | | 7 | TABLE ACCESS FULL | T3 | Q1,00 | PCWP | | |* 8 | HASH JOIN | | Q1,02 | PCWP | | | 9 | PX RECEIVE | | Q1,02 | PCWP | | | 10 | PX SEND BROADCAST | :TQ10001 | Q1,01 | P->P | BROADCAST | | 11 | PX BLOCK ITERATOR | | Q1,01 | PCWC | | | 12 | TABLE ACCESS FULL| T1 | Q1,01 | PCWP | | | 13 | PX BLOCK ITERATOR | | Q1,02 | PCWC | | | 14 | TABLE ACCESS FULL | T1 | Q1,02 | PCWP | | --------------------------------------------------------------------------
解釋計劃與並行處理的解釋:
IN-Out 列可以採用以下值:PCWP、PCWC、P->S、S->P 和 P->P。
值 PCWP (Parallel Combine with Parent) 和 PCWC (Parallel Combine wth Child) 表示操作內並行性。每個 PCWP 都會有一個 PCWC。這些操作對由同一組並行程序執行。
值 P->P(Parallel to Parallel)表示操作間的並行性。這種通信將在兩對不同的並行程序之間進行。當並行程序將其數據發送到查詢協調器時,值 P->S(並行到串列)總是出現在 SQL 語句中。值 S->P(串列到並行)在以串列模式讀取表時出現,比如一個小表,然後它的數據被發送到一個並行執行的操作中。