索引失效问题

【 TiDB 使用环境】生产环境
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
左边巨快,右边特别慢

a表关联b表b表关联c表,关联条件都有索引,where条件根据a表查询,查询特别慢
a表关联b表b表,关联条件都有索引,where条件根据a表查询,查询特别快
【资源配置】
【附件:截图/日志/监控】

查下 执行计划,比较下差异

贴一下执行计划看下,我看应该是后面两个表a和b都走不到关联字段索引,所以左外连接a的时候,可能a的i_status过滤性好一点,所以速度还行,但是左外连接b表的时候b的b_is_test过滤性差,所以速度很慢。你可以单独d表左外关联b表测试下速度。

执行速度慢的计划

执行速度快的计划

b表的时候b的b_is_test过滤性如何,我看走到了这个字段上的索引,实际统计信息准不准?

怎么看统计信息准不准

健康度99

强制index join试下呢,遇到过类似的情况,优化器选择了hash join就会很慢

最新发现,走了一个不该走的索引



怎么样才能让他走关联键的索引呢

使用强制索引试试 force index

use index 试试
https://docs.pingcap.com/zh/tidb/stable/choose-index#控制索引的选择

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。