При текущем дизайне схемы вам нужно отсканировать всю таблицу, чтобы найти записи, чьи Scopes
удовлетворяют вашему scopeCondition
, и операция сканирования является наименее рекомендуемой для извлечения записей из таблицы DynamoDB, поскольку это увеличит использованиеединиц считываемой емкости очень быстро с увеличением количества записей в таблице.
Вместо этого вам следует попытаться изменить структуру схемы в соответствии с типом запросов, которые необходимо выполнить для таблицы.
Как описано в Рекомендации DynamoDB , проектирование таблицы NoSQL начинается с вопросов, на которые должна отвечать ваша таблица, и на основе этих вопросов вы решаете, какое поле должно быть частью первичного ключа Hash / Range, чтополя можно использовать для определения глобальных вторичных индексов, чтобы можно было выполнять запросы с неключевыми полями таблицы.
Если вы можете уточнить структуру таблицы, то есть природу хеш-ключа, природу строкизначение в StringSet Scopes
, возможно, можно предложить лучший дизайн для этого запроса.