Mam aplikację na Androida, na której użytkownicy będą mogli wysyłać prywatne wiadomości do siebie. (na przykład: A wysyła wiadomość do B i C, a cała trójka może je skomentować)Złożoność zapytania w Google datastore
Używam silnika aplikacji Google i google datastore z Javą. (framework Objectify) Utworzono jednostkę Member
i jednostkę Message
, która zawiera pole ArrayList<String>
, reprezentujące listę odbiorców. (to znaczy kluczowe pole jednostki Member
)
Aby użytkownik mógł pobrać wszystkie wiadomości, w których jest jednym z odbiorców, planowałem załadować każdą jednostkę Message
w magazynie danych, a następnie wybrałem je sprawdzając, czy pole ArrayList<String>
zawiera identyfikator użytkownika. Jednak biorąc pod uwagę, że mogą być przechowywane setki tysięcy wiadomości, zastanawiałem się, czy to nawet możliwe i czy nie zajmie to zbyt wiele czasu?
Czy 'ofy(). Load(). Type (Message.class) .filter ('recipient =', myMemberId)' nie robić, co chcesz? Ilu odbiorców "Członka" będzie realistycznie "Wiadomość"? – tx802
Myślę, że to powinno zadziałać, dziękuję. Sądzę, że przeciętnie "Wiadomość" będzie miała listę odbiorców z 8 członkami. Czy nadal uważasz, że twoje zapytanie będzie wygodne? – Gannicus