配置单元解释计划在分区类型为varchar2时显示所有分区

polkgigr  于 2021-06-28  发布在  Hive
关注(0)|答案(1)|浏览(376)

我们有一个外部配置单元表,其分区列的类型为varchar2。此表与另一个表保持外部联接,联接条件中包含分区字段。
在下面的查询中,表b的b2列是varchar2类型的分区列,表a的a2只有1个值,也是varchar2类型。 SELECT a.a1, b.b1 FROM a LEFT OUTER JOIN b ON (a.a2=b.b2) WHERE a.a3='2016-01-31' 当我对上述查询发出解释计划时,我看到表b下的所有分区。当Map程序读取表b时,当它等于a2中的值时,如何才能从表b中获取分区?

9w11ddsr

9w11ddsr1#

按以下顺序选择query get executed/planed。

FROM
ON
JOIN
WHERE
GROUP BY
WITH CUBE or WITH ROLLUP
HAVING
SELECT
DISTINCT
ORDER BY
TOP

说明:
查询have join,where和按照规则首先计算连接条件,然后计算where子句,因此u在计划中看到表b的所有分区

相关问题