У меня есть структура документа 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, и я хочу просто добраться до ближайшего.
Спасибо!