SQL/MX 2.x Query Guide (G06.24+, H06.03+)
Parallelism
HP NonStop SQL/MX Query Guide—523728-003
8-3
Exchange Nodes and Plan Fragments
Exchange Nodes and Plan Fragments
A plan fragment is a portion of a query plan that executes within a single process. The
plan fragment boundaries are identified by the Exchange nodes. These operators are
identified as Exchange nodes:
•
PARTITION_ACCESS (also identified as PA in EXPLAIN output). This unary node
that provides access to a single partition at a time. All disk access within a
PARTITION_ACCESS node is serial: that is, one request at a time. This node
identifies the DAM process boundary.
•
SPLIT_TOP (also identified as PAPA in EXPLAIN output). This node is an N-ary
operator that provides concurrent access to more than one PARTITION_ACCESS
node. As a result, the SPLIT_TOP node facilitates DAM parallelism. Unlike the
other two Exchange nodes, the SPLIT_TOP node does not identify a process
boundary.
•
ESP_EXCHANGE. This node represents the transfer of data between two sets of
processes: bottom processes that produce output rows and top processes that
receive the rows produced by the bottom processes.
°
With hash repartitioning, a row produced by a bottom process gets randomly
assigned to a top process by applying a hash function to the row’s partitioning
key.
°
With range repartitioning, the top processes each have an associated
contiguous range of partitioning key values, and a row produced by a bottom
process gets assigned to a top process by determining into which range the
row’s partitioning key falls.
°
With replication, a copy of each row produced by any bottom process gets sent
to all top processes. The ESP_EXCHANGE node also redistributes the input
data stream by collecting parallel data streams into one process.
root [7]
esp exchange [6]
merge_join [5]
partition access [2] partition access [4]
file_scan ORDERS [1] file_scan LINEITEM [3]
VST820.vsd
Root node
Internal nodes
Process boundary
Leaf Nodes
Process boundary