Индексируется ли _ts в документе documentdb?

Не лучше ли включить мою собственную временную метку (в миллисекундах) для запросов с более высокой производительностью, используя поиск МЕЖДУ на основе временной метки?

Из предыдущих постов я понял, что он представлен как количество секунд с 1970 года. Поскольку это основной элемент, я могу предположить, что он не индексируется.


person D. Sell    schedule 29.08.2016    source источник
comment
Почему за это проголосовали?   -  person Larry Maccherone    schedule 30.08.2016


Ответы (1)


_ts индексируется по диапазону и имеет максимальную точность (-1) по умолчанию в DocumentDB, если только пользователь не переопределил это явно. Поэтому вы можете выполнять к нему запросы диапазона.

Тем не менее, если вам нужна более детальная метка времени с миллисекундами, лучше всего использовать свой собственный атрибут более высокой точности. Например, вы можете использовать отметку времени в виде строки в формате ISO 8601, например «2016-08-29T21:48:38.334», и индексировать этот атрибут по диапазону. Это послужит двум целям: сделать дату и время удобочитаемыми для человека и эффективно выполнять запросы диапазона для этого атрибута. Пример запроса с этим атрибутом метки времени (названным, скажем, «createdTs») будет таким:

SELECT r.id FROM root r WHERE 
r.createdTs > "2016-08-29T21:48:38.334" and r.createdTs < "2016-08-29T21:50:00.000"
person Krishnan Sundaram    schedule 29.08.2016
comment
Вы знаете, если это индекс диапазона? - person Larry Maccherone; 29.08.2016
comment
... и если он имеет полную точность (-1) - person Larry Maccherone; 30.08.2016
comment
Да, это диапазон, индексированный с полной точностью. Я обновил свой ответ, чтобы отразить и ваши вопросы. - person Krishnan Sundaram; 30.08.2016
comment
Спасибо за это. Я подумал, что если '_ts' был проиндексирован, я мог бы использовать его, чтобы получить все записи журнала со вчерашнего дня, чтобы преобразовать их. Таким образом, мне не пришлось бы добавлять дополнительный индекс для достижения этой цели. - person D. Sell; 30.08.2016