Предположим, моя таблица выглядит следующим образом:DynamoDB «ИЛИ» условный диапазон запросов
Code |StartDate |EndDate |Additional Attributes...
ABC |11-24-2015 |11-26-2015 | ....
ABC |12-12-2015 |12-15-2015 | ....
ABC |10-05-2015 |10-10-2015 | ....
PQR |03-24-2015 |03-27-2015 | ....
PQR |05-04-2015 |05-08-2015 | ....
предоставлен код (с) и диапазон дат (х, у), мне нужно, чтобы иметь возможность запрашивать элементы что-то вроде :
Query => (Code = c) AND ((StartDate BETWEEN x AND y) OR (EndDate BETWEEN x AND y))
Я планировал использовать первичный ключ в качестве хэша и Range Key (код, StartDate) с дополнительным БИС (EndDate) и сделать запрос на него. Я не уверен, есть ли способ достичь этого. Я не хочу использовать операцию SCAN
, поскольку она, кажется, сканирует всю таблицу, которая может быть очень дорогостоящей.
Также хотелось бы достичь этого в одном запросе.
Сохраняются ли ваши даты в этом формате? '05-04-2015'? Есть гораздо лучшие способы [хранить однозначные даты] (http://stackoverflow.com/questions/9576860/sort-iso-iso-8601-dates-forward-or-backwards), так как '05-04-2015' может интерпретироваться как «04 мая 2015 года» или «5 апреля 2015 года». – mkobit
спасибо, спасибо –