回复 3# mdkii 1) 这个查询结果出来是688344,确实比1122大很多。不光如此,而且根据重写的SQL来看,Europ中的这一步也和统计出来的有差距。
SELECT count(1)
FROM DWDM.T_GLOBALSR_FCT AS Q5, DWDM.T_GEO_DIM AS Q18
WHERE (Q5.ACTIVE_REC = 'Y') AND
(Q18.GEO_DIM_UID = Q5.WORK_GEO_DIM_UID) AND
(Q18.IOT_SHORT_NM = 'Europe') and
(Q18.IMT_SHORT_NM IS NULL OR Q18.IMT_SHORT_NM IN
('ADJ', 'Benelux', 'BeNeLux', 'CEE', 'DACH', 'France',
'France,NWA', 'Italy', 'Nordic', 'Spain,Portugal,Gre',
'UKI'))
数据量为1037592.而执行计划为492424。对于Japan这个plan中针对Q18(T_GEO_DIM)表的过滤,最终结果应该是3,但Estimated number of rows: 0.0715713。
造成估计值少的原因是什么呢?
2) 问题在production环境,selectivity没开,暂时没办法测试。另外Japan的数据确实比Europ的数据要少。
3) 附件是exfmt的结果。