我有一个查询及其相关联的查询和模拟数据的查询计划(参见gist)。
lte\u data\u tenmillion表中的行数为10000000 subscriber data表中的行数为100000
对于这两个表,所有行的subscriber\u id列中都没有空值。
我发现很难理解,为什么查询计划显示扫描的行数(在应用predicate:subscriber\u id is not null(type:boolean))正好是原始行数的一半。
subscriber表的filter操作符的情况类似。
此外,如“文件输出操作符[fs\u 20]”中所述,结果数据的总行数为5500000。但是,结果表中的实际行数是2499723。
我可能误解了查询计划。如果有人能澄清我在查询计划和实际结果中发现的不一致之处,我将不胜感激。
谢谢!
1条答案
按热度按时间epfja78i1#
统计数字并不新鲜。使用分析每个表
analyze table <table name> compute statistics;
然后再次检查计划。同时添加在解释命令之前。