impala和大表关联时,大表限制语句写在on里,或者写在子查询里,哪个sql查询的速度快?

相同,执行计划完全一样,都是扫描大表时加上限制条件,然后去做关联
数据量:b:55 a:19321755

explain select count(1)
 from stg_data.ODS_NKG_SIMPLEAGENTINFO b
 left join [SHUFFLE] stg_data.ODS_NKG_FUNDINFO a
    on a.FUNDID=b.FUNDID and a.custid=1100020376
+------------------------------------------------------------------------------------+
| Explain String                                                                     |
+------------------------------------------------------------------------------------+
| Max Per-Host Resource Reservation: Memory=34.00MB                                  |
| Per-Host Resource Estimates: Memory=2.08GB                                         |
| WARNING: The following tables are missing relevant table and/or column statistics. |
| stg_data.ods_nkg_fundinfo, stg_data.ods_nkg_simpleagentinfo                        |
|                                                                                    |
| PLAN-ROOT SINK                                                                     |
| |                                                                                  |
| 07:AGGREGATE [FINALIZE]                                                            |
| |  output: count:merge(*)                                                          |
| |                                                                                  |
| 06:EXCHANGE [UNPARTITIONED]                                                        |
| |                                                                                  |
| 03:AGGREGATE                                                                       |
| |  output: count(*)                                                                |
| |                                                                                  |
| 02:HASH JOIN [LEFT OUTER JOIN, PARTITIONED]                                        |
| |  hash predicates: b.FUNDID = a.FUNDID                                            |
| |                                                                                  |
| |--05:EXCHANGE [HASH(a.FUNDID)]                                                    |
| |  |                                                                               |
| |  01:SCAN HDFS [stg_data.ods_nkg_fundinfo a]                                      |
| |     partitions=54/54 files=54 size=758.66MB                                      |
| |     predicates: a.custid = 1100020376                                            |
| |                                                                                  |
| 04:EXCHANGE [HASH(b.FUNDID)]                                                       |
| |                                                                                  |
| 00:SCAN HDFS [stg_data.ods_nkg_simpleagentinfo b]                                  |
|    partitions=55/56 files=55 size=297.93KB                                         |
+------------------------------------------------------------------------------------+
explain select count(1)
 from stg_data.ODS_NKG_SIMPLEAGENTINFO b
 left join [SHUFFLE] (select * from stg_data.ODS_NKG_FUNDINFO where custid=1100020376) a
    on a.FUNDID=b.FUNDID
+------------------------------------------------------------------------------------+
| Explain String                                                                     |
+------------------------------------------------------------------------------------+
| Max Per-Host Resource Reservation: Memory=34.00MB                                  |
| Per-Host Resource Estimates: Memory=2.08GB                                         |
| WARNING: The following tables are missing relevant table and/or column statistics. |
| stg_data.ods_nkg_fundinfo, stg_data.ods_nkg_simpleagentinfo                        |
|                                                                                    |
| PLAN-ROOT SINK                                                                     |
| |                                                                                  |
| 07:AGGREGATE [FINALIZE]                                                            |
| |  output: count:merge(*)                                                          |
| |                                                                                  |
| 06:EXCHANGE [UNPARTITIONED]                                                        |
| |                                                                                  |
| 03:AGGREGATE                                                                       |
| |  output: count(*)                                                                |
| |                                                                                  |
| 02:HASH JOIN [LEFT OUTER JOIN, PARTITIONED]                                        |
| |  hash predicates: b.FUNDID = stg_data.ods_nkg_fundinfo.fundid                    |
| |                                                                                  |
| |--05:EXCHANGE [HASH(stg_data.ods_nkg_fundinfo.fundid)]                            |
| |  |                                                                               |
| |  01:SCAN HDFS [stg_data.ods_nkg_fundinfo]                                        |
| |     partitions=54/54 files=54 size=758.66MB                                      |
| |     predicates: custid = 1100020376                                              |
| |                                                                                  |
| 04:EXCHANGE [HASH(b.FUNDID)]                                                       |
| |                                                                                  |
| 00:SCAN HDFS [stg_data.ods_nkg_simpleagentinfo b]                                  |
|    partitions=55/56 files=55 size=297.93KB                                         |
+------------------------------------------------------------------------------------+
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值