v7.5.7版本集群查询语句包含or id is not null等条件走全表扫描

不是加hint强制索引吗

1 个赞

这种情况是不是一个加一个id>0这种永真条件去引导一下优化器。

1 个赞

这里应该是自动加上了id is not null,其实这个地方加这段已经改变了原来的语义了,应该是要括号括起来or关键字前后的2个条件,再进行拼接,且拼接后是能用到索引合并的

1 个赞

核心解决思路是 “让 OR 分支逻辑独立 + 确保条件优先级正确”

1 个赞

TiDB 的 Index Merge 策略在处理条件时,通常分为两种模式:交集型(Intersection)并集型(Union). 又 and 又or tidb应该不知道怎么处理了

感谢老师分享

关于这个问题,我在使用TiDB时也遇到过id相关问题,我的解决方案是调整配置参数。 期待更多的技术分享。