背景:pg11.5,navi_xn2为分区表,共500个分区,c1为分区键,值从1至1千万连续。
问题:使用random()向上取整,查询无数据,或结果集超过一行
检查执行计划,发现查询时每个分区都被扫描;
而此时enable_partition_pruning参数是开启状态
修改查询句式,原先问题不再出现
但新句式查询计划依然如故
总结:random放在filter中,一条查询语句中会多次调用,且不利于分区查询
背景:pg11.5,navi_xn2为分区表,共500个分区,c1为分区键,值从1至1千万连续。
问题:使用random()向上取整,查询无数据,或结果集超过一行
检查执行计划,发现查询时每个分区都被扫描;
而此时enable_partition_pruning参数是开启状态
修改查询句式,原先问题不再出现
但新句式查询计划依然如故
总结:random放在filter中,一条查询语句中会多次调用,且不利于分区查询