Ho un'app per Android in cui gli utenti potranno inviare messaggi privati tra loro. (per esempio: A manda un messaggio a B e C e i tre di loro possono commentare quel messaggio)Complessità di una query nel datastore di Google
Io uso google app engine e il datastore di google con Java. (framework Objectify) Ho creato un'entità Member
e un'entità Message
che contiene un campo ArrayList<String>
, che rappresenta l'elenco di destinatari. (vale a dire il campo chiave dell'entità Member
)
Affinché un utente possa ricevere tutti i messaggi in cui è uno dei destinatari, stavo pianificando di caricare ogni entità Message
sul datastore e quindi selezionarli controllando se il campo ArrayList<String>
contiene l'ID dell'utente. Tuttavia, considerando che potrebbero esserci centinaia di migliaia di messaggi memorizzati, mi chiedevo se fosse possibile e se ciò non richiedesse troppo tempo?
Fa 'ofy(). Load(). Type (Message.class) .filter ('recipient =', myMemberId)' non fa quello che vuoi? Quanti 'membri' dei destinatari avranno realisticamente un 'messaggio'? – tx802
Penso che questo dovrebbe funzionare, grazie. Suppongo che in media un 'messaggio' abbia una lista di destinatari di 8 membri'id. Credi ancora che la tua richiesta sarà conveniente? – Gannicus