Технически SCAN
никогда не гарантирует порядок (хотя как наблюдение отсутствие гарантии порядка, кажется, означает, что разделение упорядочено случайным образом, но сортировка остается, ну, в общем, отсортированной.)
То, что вы предложили , все равно будет работать , но вместо сканирования вы будете выполнять запрос на partition-key == 0
, который затем вернет все элементы с разделомключ 0
, (до limit
и, необязательно, отсортированный вперед / назад), отсортированный по ключу сортировки.
Тем не менее, это не то, что динамо хочет, чтобы вы его использовали.Например, он гарантирует, что ваш раздел будет работать горячо (поскольку вы явно поместили все в тот же раздел), и эта операция будет стоить вам возможности чтения каждого элемента вТаблица.
Я бы порекомендовал исследовать шаблоны, такие как использование потока динамодб, обработанного лямбда-выражением, для построения и поддержки материализованного представления этого «текущего состояния», а не «опроса» таблицы с этим дорогим сканированием и получениемплохой дизайн ключа.