The filter cardinality is recomputed from row count and selectivity.

highlighted = computed this step

Estimate filtered rows

The model applies the selectivity to the left table row count.

filtered rows\text{filtered rows}

Compute the kept rows

The estimated filtered rows are 3.

filtered rows=3\text{filtered rows}=3

Optimizer-choice examples are named toy estimate-model outputs; they are not benchmark results, database-product claims, hardware claims, or real speed predictions.

Estimate filtered rows: table statstablerolerowCountdistinctKeysOrdersleft_after_filter_input126Customersright_join_input88 filter estimatelabelinputRowsselectivityestimatedRowsstatus filter121/43 plan estimate rowsplanformulaleft/buildright/probeestimatedWorkchosennested_loop_joinfiltered_left_rows * right_rows3824nohash_joinbuild_rows + probe_rows8311yes estimate factsfactvaluemodelNametoy_optimizer_estimate_v1leftRows12rightRows8selectivity1/4filteredRows3nestedLoopWork24hashJoinWork11chosenPlanhash_joinrealSpeedClaimnoproductClaimnorequiresBenchmarkForSpeedyes

Require an exact count

If the fraction would need rounding, the compiler rejects it instead of guessing.

no hidden rounding\text{no hidden rounding}

Summary

The filtered row count is a named estimate, not observed output.

estimated cardinality\text{estimated cardinality}