Cardinality Estimation
কার্ডিনালিটি এস্টিমেশন
Plan-এর প্রতিটা node-এ ফল কত row হবে তার অনুমান — cost model-এর ইনপুট, planner-ভুলের মূল উৎস।
also: row-estimation, selectivity-estimation
Statistics থেকে selectivity:
SELECT attname, n_distinct, most_common_vals, most_common_freqs,
correlation
FROM pg_stats WHERE tablename = 'orders' AND attname = 'status';
- Equality on MCV: stored frequency; range: histogram bucket ভাগ; else 1/n_distinct
- Independence assumption:
A AND B= sel(A) × sel(B) — correlated column-এ ভয়ংকর ভুল; সমাধান extended statistics (CREATE STATISTICS) - Error compounds: join chain-এ প্রতি node-এর ভুল গুণ হতে গুণ হয়
EXPLAIN ANALYZE-এ estimated vs actual rows-এর gap-ই estimation-এর রোগনির্ণয় — ratio বড় মানে statistics মিথ্যা বলছে।