【 TiDB 使用环境`】生产环境
【 TiDB 版本】v5.3
EXPLAIN ANALYZE SELECT
/*+ read_from_storage(tiflash[h_exchange_score_record]) */
ownerid,
sum( CASE WHEN jylx = ‘xxx’ THEN kyyezj ELSE 0 END ) - sum( CASE WHEN jylx = ‘xxx’ THEN kyyejs ELSE 0 END ) AS throwIntegral
FROM
h_exchange_score_record
WHERE
createtime BETWEEN ‘2021-04-05 00:00:00’
AND ‘2022-05-05 23:59:59’
AND tenantid = ‘xxx’
AND zhlx IN ( ‘xxx’, ‘xxx’, ‘xxx’, ‘xxx’, ‘xxx’ )
GROUP BY
ownerid
简化sql如上,实际sql还会有一大堆sum,在查询一个月的数据时,查询计划如图,在└─Projection_39是在root层参与计算
但是在查询一年的数据时,└─Projection_39步骤是下推到tiflash计算的
这样就会导致查一年的数据反而比查一个月的数据还快,按理来说查一个月的数据也应该是下推到tiflash节点计算的
请问下这种问题该怎么解决