Jeśli pobierasz pojedynczy element z mojej tabeli na podstawie indeksowanego klucza hash, czy występuje różnica wydajności między zapytaniem() lub getItem ()?Zapytanie DynamoDB() a getItem() dla pobierania pojedynczych elementów na podstawie indeksu
19
A
Odpowiedz
15
getItem będzie szybszy
pobieranie getItem przez hash i klucz zakresu jest dopasowaniem 1: 1, czas potrzebny (stąd wydajność) do jego pobrania jest ograniczony przez skrót i wewnętrzną zmianę.
Zapytanie powoduje wyszukiwanie na "wszystkich" klawiszach zakresu. Dodaje pracy obliczeniowej, dlatego uważa się za wolniej.
10
W dynamometrze Amazon Twoje występy są gwarantowane niezależnie od metody dostępu. (płacisz za to).
Nie może być para milisekund różnice na samych serwerach DynamoDB jak je Chen Harel ale są to nieistotny z powodu żądania HTTP RTT.
Ten powiedział, że jest to dobra praktykaaby wydać GET
zamiast QUERY
gdy masz wystarczająco dużo informacji, aby to zrobić.
Te kilka milisekund może dokonać ogromnej różnicy na dużą skalę, nawet w kontekście żądania HTTP. To dodatkowe 2-3ms opóźnienia dla DynamoDB może oznaczać 2-3 ms czasu, że żądanie pozostaje otwarte między serwerem internetowym a usługą backendu, wiążąc zasoby. – Annabelle