客户端

Hive查询优化

所在版块: 后端技术 2017-03-13 18:27 [复制链接] 查看: 2489|回复: 0
1. 多表Join查询时将副表的条件写在ON之后,而不是写在WHERE之后。因为如果将副表的过滤条件写在Where后面,那么就会先全表关联,之后再过滤。
比如:
SELECT a.uid,b.* FROM t_user as a LEFT OUTER JOIN t_order as b ON a.uid=b.uid
WHERE a.dt="20170101" AND b.dt="20170101"
优化之后:
SELECT a.uid,b.* FROM t_user as a LEFT OUTER JOIN t_order as b ON a.uid=b.uid AND b.dt="20170101"
WHERE a.dt="20170101"


2. hive中的日期函数在mysql中可以使用date函数,在hive中得使用to_date函数。需要注意的是,日期格式必须是yyyy-mm-dd的格式,to_date('20171105')的结果是null

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码关注微信公众号

QQ|Archiver|手机版|小黑屋|mwt-design ( 沪ICP备12041170号-1

GMT+8, 2024-11-24 17:57 , Processed in 0.065336 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回列表