代碼分支版本:master 20240102
代價(jià)估計(jì)
利用代價(jià)模型(cost model)比較不同執(zhí)行計(jì)劃的優(yōu)劣冻璃,代價(jià)估計(jì)模型需考慮:
- 統(tǒng)計(jì)信息:數(shù)據(jù)分布、行數(shù)、Distinct值個(gè)數(shù)
- 統(tǒng)計(jì)信息收集時(shí)機(jī)與方法:
- 不能影響在線業(yè)務(wù)耕渴;
- 采樣收集朽色;
- 基數(shù)估計(jì)->代價(jià)估計(jì):基數(shù)估計(jì)來估算中間結(jié)果個(gè)數(shù)邻吞,從而用于代價(jià)估計(jì)
統(tǒng)計(jì)數(shù)據(jù)假設(shè)
- 均勻分布假設(shè)(uniform distribution assumption):
- 認(rèn)為屬性內(nèi)部取值是均勻分布的
- 屬性獨(dú)立假設(shè)(attribute independence assumption):
- 認(rèn)為不同屬性的取值之間相互獨(dú)立
通過代碼總結(jié)的基數(shù)估計(jì)公式
補(bǔ)充說明:
- 基數(shù)估計(jì)的方式有很多,比如:
- 直方圖葫男,但是暫時(shí)因?yàn)橄膬?nèi)存抱冷,回滾了(詳見PR:https://github.com/apache/doris/pull/27896);
- Count-Min算法 估計(jì)數(shù)據(jù)出現(xiàn)頻率梢褐,這個(gè)在Doris代碼中應(yīng)該是沒有使用旺遮;
doris中基數(shù)估計(jì)暫時(shí)是依托于統(tǒng)計(jì)的列信息和表行數(shù)來進(jìn)行計(jì)算的。
2.我總結(jié)的基數(shù)估計(jì)的推導(dǎo)公式均是通過代碼反推的盈咳,部分?jǐn)?shù)學(xué)公式如有不準(zhǔn)的地方希望您能幫忙指出耿眉,不勝感激