Cardinality estimation — where it appears
Named by 2 essays across one field — each of them below, with the objects they name alongside it.
Also named here as query planner — the same set of essays touches all of them, so they are one junction rather than several.
What a planner pays to find out what to pay
Insurance against a row estimate is set from the error's median and spread, and a running system knows neither — it has to fit them from executed queries. Fitted from one query the divisor costs 1.263 times the better plan against 1.215 for a planner that never insures at all, so learning is worse than not learning until about sixteen queries have run. The tail, though, is bought immediately: one observation already holds the worst case to 24.7 against 36.6.
A summary's silence is a bound, not a count
When both sides of a join are skewed towards the same values the textbook estimate is 399 times too low and the order it picks costs 244 times the better one; two counters a side repair it. Skew them towards different values and the same estimate becomes 254 times too high — and the counters have nothing to say, because no value is in both summaries. Using their silence instead repairs the middle of the sweep and makes the far end six times worse.
Named alongside it
The objects these essays reach for when they reach for this one.
Query plannerRegretBreak-evenCorrelationCost modelDesign parameterDistributionExpected valueHeavy hitterJoin orderMisra–GriesOverfitting