Запрос RavenDB на основе времени

У меня есть структура документа JobData, в которой хранятся данные на основе времени, начиная с момента 0 до времени t в тиках. И обычно данные представляют собой документ в секунду.

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

Для простоты я показываю только один параметр JobValue, но на самом деле это сложный график данных. Мой вопрос: если задано время ввода в тиках, какой запрос будет лучшим для поиска последних данных JobData на основе заданного тика?

Таким образом, если в базе данных есть документ на 1000 тиков, а затем следующий на 2000 тиков, и пользователь хочет найти состояние на 1500 тиках, он/она должен получить в качестве ответа JobData на 1000 тиках.

Запрос, который я использую сейчас:

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

Это правильный и самый эффективный запрос? У меня есть тысячи этих узлов JobData, и я хочу просто добраться до самого близкого.

Спасибо!


person Ahmad    schedule 25.11.2011    source источник


Ответы (1)


Ахмад, да, это так. И это было бы очень быстро.

person Ayende Rahien    schedule 27.11.2011