我有一个按年,月,日划分的雅典娜表,我需要在日期之间查询它。 如我所见,这些选项例如:
1。select avg(price) from table where year = 2018 and month = 1
结果: (运行时间:4.89秒,扫描的数据:20.72MB)
2。select avg(price) from table where cast(date_parse(concat(cast(year as varchar(4)),'-',cast(month as varchar(2)),'-',cast(day as varchar(2))), '%Y-%m-%d') as date) between Date '2018-01-01' and Date '2018-01-31'
结果:(运行时间:8.64秒,扫描的数据:20.72MB)
因此,我想athena足够聪明,即使在投射串联的分区列时也可以使用分区功能,所以为什么要花大约30%的时间。时间两次?后台到底发生了什么?
非常感谢。