我们的sql语句如下
select count(*) from (select * raw_data rd inner join test_log tl on rd.id = tl.id) mm
inner join die_info di on mm.x = di.xx and mm.y = di.y and mm.product = di.product
这个语句我原本的意图是 raw_data 是大表,先通过 test_log (小表)将坐表 raw_data 大表进行过滤掉
然后在于小表 die_info 进行join 这样就可以做到快速join。
但是实际上的执行策略是(通过 explain看到)
先 test_log 表 和 die_info 进行join 也就是通过product 先join,这样就会导致两个小表通过笛卡尔积产生一个大表,然后在取join raw_data表,就会变慢很多
有没有大佬知道我要怎么才能让starRocks 按照我想要的执行顺序进行join下去呢?