SQL 1:
select p.aaa, t.bbb
FROM fdm.xxx p
JOIN gdm.yyy t
ON p.id = t.id
where p.dp='CUR';
SQL 2:
select p.aaa, t.bbb
FROM ( select * from fdm.xxx p where p.dp='CUR' ) p
JOIN gdm.yyy t
ON p.id = t.id ;
表xxx是一个分区表,并按列dp进行分区。 我们的sql标准建议像SQL2一样编写sql,但是当解释这两个sql时,SQL1似乎更加优化。 这两个sql有什么不同? SQL2有更好的性能吗?
答案 0 :(得分:0)
从功能上讲,它们完全相同。
在几乎所有数据库中,他们都有相同的执行计划。例外是子查询自动实现的数据库 - 例如MySQL。
我相信Hive会同时执行。