SQL查询走Tiflash 等价语句得出来的结果不一致

【 TiDB 使用环境】生产环境
【 TiDB 版本】4.0.10
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
1,执行 SELECT /*+ read_from_storage(tiflash[o,oi]) */
sum(oi.money) AS money
FROM
order_item oi
INNER JOIN orders o ON o.order_uuid = oi.order_uuid
AND o.is_deleted = 0
WHERE
oi.is_deleted = 0
AND oi.create_time >= ‘2023-03-30 21:00:00’
AND o.partner_delivery_type = 2
AND ‘2023-05-30 21:00:00’ > oi.create_time
得到的结果是 645958.12

2,把最后一个 条件修改 AND oi.create_time < ‘2023-05-30 21:00:00’
即SQL 为
SELECT /*+ read_from_storage(tiflash[o,oi]) */
sum(oi.money) AS money
FROM
order_item oi
INNER JOIN orders o ON o.order_uuid = oi.order_uuid
AND o.is_deleted = 0
WHERE
oi.is_deleted = 0
AND oi.create_time >= ‘2023-04-30 21:00:00’
AND o.partner_delivery_type = 2
AND oi.create_time < ‘2023-05-30 21:00:00’
得到的结果是:26858204.07

等价SQL 得出的结果不一致,如果都是走TiKV 结果是一致的


谁能解释一下为什么
【资源配置】
【附件:截图/日志/监控】

看下是否开启了tiflash_fastscan,之前碰到过类似问题,不过是查询sql没变,但是两次结果不一样;
这个参数开启时候tiflash查询存在一定误差。如果对查询性能有更高要求,可以在 session 级别或 global 级别开启 FastScan 功能,你可以通过修改变量 tiflash_fastscan 的值来选择是否启用 FastScan 功能。

4.0.10这个版本有这个值吗?show global variables like ‘tiflash_fastscan’; 都没有值显示

tikv的结果每次都是一样的,结果具体是多少?和tiflash都对不上吗?

是的,走Tiflash就不同,看截图结果

您好,有测过高版本吗?4.x 版本比较低了。可能会存在已知 bug,建议使用 6.x 版本。

可以更新后试下,

升级升级