执行计划选择问题

OBCE第五章OceanBase SQL优化中,为了说明优化器选择NLJ+Material的例子使用use_nl的hint,但是使用了nl的话怎么看都应该使用t1作为驱动表,而不是t2,是不是还少了leading的hint?只有只指定连接顺序的情况下才会走教材所讲的执行计划吧?

感觉你说的对,明显优化器应该是会把t1表过虑出来的数据放到t2表中扫描,这样最多扫描990次t2表,这个执行计划要扫描33W次t1表实属拉跨

leading的意思是把表先按条件筛选后查出结果。

我觉得驱动表选择不对,怎么看都是t1是驱动表,是不是文章为了说明material漏写条件了