【 TiDB 使用环境】生产环境
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
左边巨快,右边特别慢
a表关联b表b表关联c表,关联条件都有索引,where条件根据a表查询,查询特别慢
a表关联b表b表,关联条件都有索引,where条件根据a表查询,查询特别快
【资源配置】
【附件:截图/日志/监控】
【 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