我们有一个外部配置单元表,其分区列的类型为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中获取分区?
1条答案
按热度按时间9w11ddsr1#
按以下顺序选择query get executed/planed。
说明:
查询have join,where和按照规则首先计算连接条件,然后计算where子句,因此u在计划中看到表b的所有分区