【 TiDB 使用环境】
tidb v5.3.1
【概述】 场景 + 问题概述
我正在tikv模式使用类似于如下的sql,我的t1和t2表为千万级别,t3表一共几百条数据。
如果我运行如下sql,我的执行计划执行了两次hashjoin算子
select
*
from
t1 inner join t2
on t1.id = t2.id
where
t2.dat in (select dat from t3)
如果我运行如下sql,我的执行计划执行了一次hashjoin算子
select
*
from
t1 inner join t2
on t1.id = t2.id
where
t2.dat in (1,2,3,4)
t3没必要和t1,t2进行join,这反而大大影响其性能,。
我该如何从Optimizer Hints维度,禁止对t3的in展开为join呢?