一个join条件造成的1000倍的性能差距

在之前版本IndexJoin的innerSide不支持非DataSource的算子,这个在8.1版本修改了,新增了对Agg算子的支持,但还不支持其它算子(比如各种Join)。
因此对于a join (b join c)形式目前是不支持a indexJoin (b join c)的,可以支持(b join c) indexJoin a。
也就是join的innerSide不能是(b join c)。
可参考这里:指定INL_JOIN,但执行计划并不走
你用的8.1版本只支持了innerSide是Datasource和Agg算子,join类的还不支持:https://github.com/pingcap/tidb/issues/37068

根据这种理解看是否能找到正确答案。

1 个赞