关于 高级进阶课程的 答案 疑问

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):



疑问1: outer join 应该包含right join 和 full join 吧 ???

2 个赞

第二个疑问点: table range scan 算什么 ??属不属于table scan 呢?


第三个:


1 个赞

学习了

1 个赞

学习学习学习

第二个问题,可以使用好中择优的方法,table range scan 没有,就忽略!

出题人总是喜欢搞些烟雾弹 :joy:

麻烦 @序风 来看下?

这里其实想考察的是,执行计划里面的算子Nested Loops Join支持什么形式的;虽然right join确实是outer join的其中一种,但是outer join里面的left join、full join是OB里的NLJ支持使用的方法,所以答案才说outer join可以使用。

实际例子如下:

比如你们 explain 计划可能会看到以下的算子写法:
Nested-LOOP JOIN
Nested-LOOP JOIN CARTESIAN
Nested-LOOP OUTER JOIN
Nested-LOOP OUTER JOIN CARTESIAN
Nested-LOOP SEMI JOIN
Nested-LOOP LEFT SEMI JOIN
Nested-LOOP SEMI JOIN CARTESIAN
Nested-LOOP ANTI JOIN
Nested-LOOP ANTI JOIN CARTESIAN

但你们在计划中不会看到有下面这样的算子
Nested-LOOP RIGHT JOIN
Nested-LOOP RIGHT SEMI JOIN
Nested-LOOP RIGHT ANTI JOIN

第二个题目,TABLE SCAN的operator也是考察算子的。这里table range scan也是table scan的一种,都属于范围扫描,scan的变种也挺多的,比如还有table full scan;所以这里形态的问题,主要是按照扫描的类型来分的,范围、点查、跳跃扫描

第三个题目正确答案确实是BCD,之前录错了;我们这边修正一下。但是因为这个配置的考试题目有挺多人用过,我们需要看看怎么处理。抱歉,这个是人为的失误。

table scan 和table range scan 有啥区别 呢 ?

我一直理解table scan是个 大类算子的统称

有时候你在explain计划里也会直接看到table scan算子,那就是个范围扫描