参考答案: A
详细解析:
正确答案A 。本题需要了解join的执行DAG过程,同时影响join速度的是数据量、是否笛卡尔积、是否数据倾斜等,本题涉及数据量问题。ACD选项SQL逻辑的区别在于:
A、使用子查询过滤表A后,A表根据分区裁剪数据量会下降,实际参与join的数据量会降低,效率自然提高。
C、执行过程与A相同,但官网推荐使用子查询提高效率。
D、很显然D选项A表所有分区参与计算后进行过滤,数据集较大效率相对较低。
A. select * from (select from A where dt='20140301') A left outer join B on id=
B. 没有区别
C. select * from A left outer join B on id=id and A.dt=20140301
D. select * from A left outer join B on id=id where A.dt=20140301
参考答案: A
详细解析:
正确答案A 。本题需要了解join的执行DAG过程,同时影响join速度的是数据量、是否笛卡尔积、是否数据倾斜等,本题涉及数据量问题。