【TiDB 使用环境】生产环境
【TiDB 版本】V7.1.5
【遇到的问题:问题现象及影响】
业务表索引分布情况
错误的执行计划,执行耗时接近10秒
调整where查询列的顺序,可以走到正确的索引,执行耗时0.02秒
【TiDB 使用环境】生产环境
【TiDB 版本】V7.1.5
【遇到的问题:问题现象及影响】
业务表索引分布情况
调整where查询列的顺序,可以走到正确的索引,执行耗时0.02秒
好像bug啊 ![]()
我也遇到类似问题,确定和顺序有关,只能根据执行计划调整
麻烦试下将 in 改为 = 来查询,并调整列顺序来看执行计划是否不同
在大多数情况下,TiDB的SQL 引擎对WHERE子句中的条件顺序是不敏感的。也就是说,理论上来说,两个查询应该生成相同的执行计划。
调整一下顺序就可以了
绑定执行计划吧
理论上应该不影响才对,临时处理只能换顺序了
实在想用一个执行计划,就用hint