Если я извлекаю один элемент из своей таблицы на основе индексированного хэш-ключа, существует ли разница в производительности между запросом() или getItem()?
DynamoDB query() по сравнению с getItem() для поиска по одному элементу на основе индекса
Ответ 1
getItem будет быстрее
getItem retrieve через хэш и ключ диапазона - это соответствие 1:1, время, которое требуется (следовательно, производительность) для извлечения, ограничено хешей и очертаниями внутри.
Запрос приводит к поиску по "всем" диапазонам ключей. Он добавляет вычислительную работу, поэтому считается медленнее.
Ответ 2
В Amazon DynamoDB ваши действия гарантированы независимо от метода доступа. (вы платите за него).
На серверах DynamoDB может быть разница с двумя миллисекундными, как это предложил Чэнь Хэрел, но они незначительны из-за RTT запроса HTTP.
Это означает, что хорошая практика для GET
вместо QUERY
выдает QUERY
, когда у вас достаточно информации для этого.