多表关联性能优化

【 TiDB 使用环境】生产环境
【 TiDB 版本】6.5.0
【复现路径】多个表左关联,其中每个表的数据量大约在1500万左右
【遇到的问题:问题现象及影响】
1.多个表左关联,最终结果limit20,从执行计划来看,limit20没有下推到tikv,整个sql执行时间接近2s,有什么优化思路吗?正常来说左关联,去第一张表的20条数据即可
2.其中有一张表进行了全表扫描,为何没走到索引?
【资源配置】


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

执行计划

语句、执行计划都不全,让人怎么帮分析呢?

添加了

先不看执行计划,就你这个SQL:
1.先把AND node.delete_type=0的过滤条件拉到where条件里
2.检查t4是否包含(workflowid, delete_type)的组合索引
3.检查所有join on条件等号两侧的字段是否都有了单列索引或以其为前缀的组合索引
这个SQL想快只看t4表查的有多快((workflowid, delete_type)组合索引可加速),以及join的有多快(join on两侧索引完备)

你是左关联,但是你筛选了其他表的数据啊,这样limit肯定不会是t4表的前20行了啊,如果你想取左表的前二十行,请写成这种格式
select * from (select * from t4 where t4… in … and (t4… or t4… ) limit 0,20)t4 ,left join
(select * from t1 where t1…=false and t1… is not null) on t4…left join…