A Join B和 A,B的区别?

From A join B on A.XX=B.YY
From A,B WHERE A.XX=B.YY
这两种方式都能获得想要的结果,他们有什么区别?
后者貌似没有reduce过程,那它的效率是否更高?

李虎翼 - Hive/Hadoop

赞同来自: fish liangzai

两者是一模一样的,你通过 explain 两者的执行计划,看它们的operator图构成,就可以证明这一点。 在语法解析阶段,AST阶段,QB生成之前,生成AST的时候,就把两者的AST生成的一模一样了。后面的逻辑执行计划,物理执行计划自然是一模一样的。 https://www.codatlas.com/github.com/apache/hive/master/ql/src/java/org/apache/hadoop/hive/ql/parse/FromClauseParser.g?line=79 具体可以看这段代码。

要回复问题请先登录注册