我有一张巨大的table,table上用 date
以及 hour
:
ID ... dates(string) hour(string)
1 ... 2020-11-19 0
2 ... 2020-11-19 0
3 ... 2020-11-19 1
...
当我跑的时候 select * from tbl where dates = '2020-11-19' and hour = '1'
,相当快。
我还有一个表,它只存储一个时间戳
ts(timestamp)
2020/11/19 01:32:13.350 GMT+08:00
当我跑的时候
select * from tbl where dates = (select date(ts) from ts_tbl) and hour = (select hour(ts) from ts_tbl)
这是非常慢,我发现这个声明将扫描整个表。
我原以为这两种说法应该有同样的表现。
顺便说一下,我正在运行sparksql。
暂无答案!
目前还没有任何答案,快来回答吧!