多表关联执行计划顺序咋个限定

【产品名称】

【产品版本】

【问题描述】

我有个3个表关联的查询,现在怎么样能够限制多表关联的顺序哪?我想先让a表和c表关联,再和b表关联

select a.sn,a.no from a left join b on a.sn = b.sn

left join c on a.no = c.no

WHERE a.stus in (“01”,“02”,“03”)

AND c.name = “李正”

现在不管咋个设置hint,都是a表先和b表关联。再和c表关联。请问这个能够指定吗?

你这不是inner join....

不是inner join 是left join,但c表应该等价与inner join。请问这种如何优化哪?我想限制a先和c关联。

LEADING

LEADING
 Hint 指定并行查询计划中最先 
JOIN
 哪些表,
LEADING
 中的表从左到右的顺序,也是 
JOIN
 的顺序。

https://open.oceanbase.com/docs/community/oceanbase-database/V3.1.1/distributed-execution-plan-management-1

但是对外联接不生效。我用了这个,他始终后台自动转换为a和b先关联。

我指定了leading(c,a,b)他始终变成leading(c,(a,b))

麻烦提供一下:

1、当前OB的版本。

2、添加hint后查询语句的文本。

版本是2.2.30

select /*+leading(c,a,b)*/a.sn,a.no from a left join b on a.sn = b.sn


left join c on a.no = c.no


WHERE a.stus in ("01","02","03")



AND c.name = "李正"

2.2.3版本上只有inner join可以调连接顺序,outer去join的顺序调不了。

那请问哪个版本后支持outer join的调整哪?