|Modifier and Type||Field and Description|
The #of input solutions consumed (not just accepted).
The #of output solutions generated.
accessPathChunksIn, accessPathCount, accessPathDups, accessPathRangeCount, accessPathUnitsIn
|Constructor and Description|
|Modifier and Type||Method and Description|
Combine the statistics (addition), but do NOT add to self.
The estimated join hit ratio.
Extension hook for
public final CAT inputSolutions
true, multiple input binding sets can be mapped onto the
IAccessPath and this counter will be incremented by the #of
such input binding sets.
public final CAT outputSolutions
public double getJoinHitRatio()
outputSolutions / inputSolutionsIt is ZERO (0) when
inputSolutionsis ZERO (0).
The join hit ratio is always accurate when the join is fully executed.
However, when a cutoff join is used to estimate the join hit ratio a
measurement error can be introduced into the join hit ratio unless
PipelineOp.Annotations.MAX_PARALLEL is GT ONE (1), or
PipelineJoin.Annotations.MAX_PARALLEL_CHUNKS is GT ZERO (0).
When access paths are coalesced because there is an inner loop over the
input solutions mapped onto the same access path. This inner loop the
inputSolutions to be incremented by the
#of coalesced access paths before any
are counted. Coalescing access paths therefore can cause the join hit
ratio to be underestimated as there may appear to be more input solutions
consumed than were actually applied to produce output solutions if the
join was cutoff while processing a set of input solutions which were
identified as using the same as-bound access path.
The worst case can introduce substantial error into the estimated join
hit ratio. Consider a cutoff of
100. If one input solution
generates 100 output solutions and two input solutions are mapped onto
the same access path, then the input count will be 2 and the output count
will be 100, which gives a reported join hit ration of
when the actual join hit ratio is
A similar problem can occur if
PipelineJoin.Annotations.MAX_PARALLEL_CHUNKS is GT ONE (1) since input count
can be incremented by the #of threads before any output solutions are
generated. Estimation error can also occur if multiple join tasks are run
in parallel for different chunks of input solutions.
public void add(BOpStats o)
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.