DynamoDB - Как эффективно вернуть заданное количество результатов с FilterExpression и Scan? - PullRequest
0 голосов
/ 21 марта 2020

Я хочу вернуть Предел количество результатов при использовании FilterExpression в DynamoDB. Я уже знаю, что Limit применяется до FilterExpression , поэтому, если я запрашиваю 5 результаты и FilterExpression отфильтровывая 2 из них, я бы получил только 3 результаты.

Как наиболее эффективно сканировать таблицу DynamoDB до Я получаю Предел (5 в приведенном выше случае) результатов?

Я подумал о двух возможных вариантах, оба упомянутых здесь :

  1. Первый время сканирования до Limit , затем рекурсивное сканирование до Limit - элементов, извлеченных , пока у вас не будет Limit элементов.
  2. Сканирование без Limit , а затем, если у вас больше Limit результатов, просто удалите остальные; Если у вас меньше Предел результатов, используйте lastEvaluatedKey и продолжите сканирование.

По сути, я спрашиваю, сколько времени каждый человек Сканирование займет так, что может быть быстрее просто сканировать всю таблицу из get- go.

Примечание. Моя таблица может быть уникальной в том смысле, что FilterExpression скорее всего, не будет отфильтровывать многие элементы.

...