RavenDB基于时间的查询

时间:2011-11-25 23:10:59

标签: performance time ravendb

我有一个文档结构JobData,用于存储Ticks中从时间0到时间t的基于时间的数据。通常数据是每秒一个文档。

public class JobData
{
       long Ticks {get;set;}
       double JobValue {get;set;}
}

为简单起见,我只显示一个参数JobValue,但实际上它是一个复杂的数据图。我的问题是,如果在Ticks中给定一个给定的输入时间,哪种查询最适合根据给定的刻度查找最后一个JobData?

因此,如果数据库有1000个刻度的文档,然后是2000个刻度的下一个文档,并且用户想要在1500个刻度处找到状态,那么他/她应该以1000个刻度获得JobData作为答案。

我现在使用的查询是:

var jobData = documentSession.Query<JobData>().Where(t => t.Ticks <= 1500).OrderByDescinding(t => t.Ticks).FirstOrDefault();

这是正确且最有效的查询吗?我有数千个这样的JobData节点,并希望得到最接近的节点。

谢谢!

1 个答案:

答案 0 :(得分:2)

艾哈迈德 是的,这是解决问题的方法。它会非常快。