Neoview Query Guide (R2.3, R2.4, R2.5)
TUPLE_FLOW Operator
The TUPLE_FLOW operator describes a portion of an execution plan that typically involves an
insert-select or a rowset insert, implemented as a type 1, matching partitions nested join. All
rows from the outer table are selected and inserted into the inner table. This operator enables
data to flow from one child to the other. The join_predicate and selection_predicates expressions
are empty. As with the nested join, for the inner child tree you need to review the PROBES field
of the COST_DETAILS panel in NPA to find the estimated cardinality for the operation.
This operator facilitates fast and efficient parallel, sequential inserts and is frequently preceded
by a sort operation.
The TUPLE_FLOW operator has two child operators. The description field for this operator
contains:
Data TypeToken DescriptionToken
integerA sequential number assigned to the fragment. 0 is always master
executor and 1 is reserved for the Explain plan. Numbers 2 to n will be
ESP or DAM fragments.
fragment_id
integerThe fragment_id for the parent fragment of the current fragment. Value
is (none) for master executor.
parent_frag
textmaster, ESP, or DAMfragment_type
textInner joinjoin_type
textName of join method: nested or in-order nested joinjoin_method
text1 for Type1 or 2 for Type2, depending on parallel join algorithmparallel_join_type
expr(text)Expression of the ON clause that has not been pushed down to the inner
scan, typically empty
join_predicate
expr(text)Expression of the WHERE clause that has not been pushed down to the
inner scan, typically empty
selection_predicates
Merge Joins
In a merge join, both tables are required to be sorted on the join column. A buffer of rows is read
from the inner and outer tables, and a row from the outer table is used to match inner table rows
in a match-merge pattern.
MERGE_JOIN Operator
The MERGE_JOIN operator describes a portion of an execution plan that involves a merge join.
This operator joins the data from its two child operators. The data streams from both children
must be in the same order. The operator joins all matching rows from each data stream. The
MERGE_JOIN operator works only with equijoins.
The MERGE_JOIN operator has two child operators. The description field for this operator
contains:
Data TypeToken DescriptionToken
integerA sequential number assigned to the fragment. 0 is always master
executor and 1 is reserved for the Explain plan. Numbers 2 to n will be
ESP or DAM fragments.
fragment_id
integerThe fragment_id for the parent fragment of the current fragment. Value
is (none) for master executor.
parent_frag
textmaster, ESP, or DAMfragment_type
textInner, union, or natural joinjoin_type
Operators and Description Fields 27