Подтвердить что ты не робот

DynamoDB query() по сравнению с getItem() для поиска по одному элементу на основе индекса

Если я извлекаю один элемент из своей таблицы на основе индексированного хэш-ключа, существует ли разница в производительности между запросом() или getItem()?

4b9b3361

Ответ 1

getItem будет быстрее
getItem retrieve через хэш и ключ диапазона - это соответствие 1:1, время, которое требуется (следовательно, производительность) для извлечения, ограничено хешей и очертаниями внутри.
Запрос приводит к поиску по "всем" диапазонам ключей. Он добавляет вычислительную работу, поэтому считается медленнее.

Ответ 2

В Amazon DynamoDB ваши действия гарантированы независимо от метода доступа. (вы платите за него).

На серверах DynamoDB может быть разница с двумя миллисекундными, как это предложил Чэнь Хэрел, но они незначительны из-за RTT запроса HTTP.

Это означает, что хорошая практика для GET вместо QUERY выдает QUERY, когда у вас достаточно информации для этого.