Я ищу совета, как я могу улучшить это с точки зрения скорости:улучшить ОПРС производительность запросов
Мои данные-модель:
class Events(ndb.Model):
eventid = ndb.StringProperty(required=True)
participants = ndb.StringProperty(repeated=True)
Так я пытаюсь получить данные:
def GetEventDataNotCached(eventslist):
futures = []
for eventid in eventslist:
if eventid is not None:
ke = database.Events.query(database.Events.eventid == eventid)
future = ke.get_async(keys_only = True)
futures.append(future)
eventskeys = []
for future in futures:
eventkey = future.get_result()
eventskeys.append(eventkey)
data = ndb.get_multi(eventskeys)
Таким образом, я получаю ключи асинхронизации и передаю ключи к «get_multi» - есть ли способ сделать это быстрее, поскольку я все еще не счастлив пока что с производительностью.
В повторном имуществе может быть до нескольких сотен строк. В модели Events есть несколько 10.000 строк. В списке событий всего несколько десятков мероприятий, которые я хочу получить.
Я не уверен, что это сделает работу лучше или хуже, но, возможно, вы можете создать объект Участники. Particpants.query (eventid в списке событий) –