00a2f91d-ffed-4794-b9d6-041ae7fa347c 2021-01-28 00:00:33.000+0000 3 00a2f91d-ffed-4794-b9d6-041ae7fa3as3 2021-01-28 00:00:35.000+0000 3 00a2f91d-ffed-4794-b9d6-041ae7assg2 2021-01-28 00:00:38000+0000 3 00a2f91d-ffed-4794-b9d6-041aisffass3 2021-01-28 00:00:45.000+0000 3 4
我有一个很大的表,里面有超过600GB的传感器时间序列数据。类似这样的东西:
时间戳如果您有一个按机器和时间戳的索引,那么传统的索引扫描应该可以非常快速地从表中检索20行,如:
create index ix1 on t (machine_id, timestamp);
然后,让我们假设您的示例中的第三个随机行的值为(3, '2021-01-28 00:00:38.000 +0000')
。您的查询看起来像:
select *
from t
where machine_id = 3
and timestamp < '2021-01-28 00:00:38.000 +0000'
order by timestamp desc
limit 20
由于引擎将遍历索引,并且只遍历20行,因此响应应该是即时的。