sql—在分区数据上选择时存在巨大差异

uinbv5nw  于 2021-05-17  发布在  Spark
关注(0)|答案(0)|浏览(278)

我有一张巨大的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。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题