通过sql查询不到数据,貌似是一个数据库层面的bug

【 TiDB 使用环境】生产环境
【 TiDB 版本】8.1.0
【遇到的问题:问题现象及影响】
数据库客户端是dbeaver
有张表不加筛选条件可以查出这条数据,但是加了筛选条件就查不到

【附件:截图/日志/监控】



可以看出加了筛选条件就查不出这条数据,而且就是这条数据有问题

1 个赞

expire_date是日期格式吧?日期格式查询应该用DATE_FORMAT来吧?

是date类型的,但是不需要你说的手动转义。而且就2024-08-03这条数据查不出,用相同的方法查询其他的数据是可以的

经过测试,好像是查不出数据是随机的,这里截图条件2024-08-08可以查出来,但是2024-08-09的查不到


用 explain analyze 分别看一下“正确“和”不确认“结果的执行计划。

admin check table xxxx 看下是不是表索引数据不一致

直接等于能查出来吧

可以按照上面的,查一下执行计划

我新建一个测试表也是能查出来的,就是我现在这个表有问题,而且不是所有数据有问题,而是某几个日期有问题,都是普通字段,没有索引

没啥区别

我统一回复下,我装了个toDesk远程工具,你们可以连我直接看这个问题,下午1.30我来看,你们要连的直接联系我

表大吗,不大重建一个insert into select 旧表再试试

多随机几次测试一下,后面问题解决了吗? 知道什么原因不?

还是存在的

不重建,重建就无法复现了,我刚才试了新建个测试表就无法复现

1 个赞

@zzps 看下这个。可能是数据索引不一致导致。

这个表用tiflfash了吗,另外看看执行计划是全表扫描吗



执行了再查还是查不出

explain analyze 分别看下能查和查不出来的 执行计划看看

表结构也发一下