2015-10-27 179 views
0

這是我的蜂巢查詢中使用變量時,運行速度非常慢。出於某種原因,這運行得更快:蜂巢查詢在條件

select * from a where dateString>='2015-01-01' 

因此,相同的日期值第一個是慢得多。爲什麼是這樣?有任何想法嗎?

+0

第二個查詢的值是直接給定的,但對於第一個查詢,變量的值必須從公式計算.....嘗試在直接給出變量值後執行查詢...... – madhu

+0

該表是否在dateString上分區? –

回答

0

指定如此分區時,不會發生動態分區修剪(除非使用Hive> = 0.14)。在where子句中指定精確值時,hive知道要掃描哪個分區。當從配置變量或從另一個查詢的結果中指定時,配置單元不知道要掃描的分區。 我建議使用Hive> = 0.14或通過shell腳本而不是hive conf來代替變量來指定分區的確切值。