我寻求建议,我怎么能在速度方面的改善这一点:提高NDB查询性能
我的数据模型:
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行。 在事件列表中,我只想要获取几十个eventids。
我不确定这是否会使性能更好或更差,但也许你可以创建一个参与者实体。 Particpants.query(事件列表中的eventid) – 2013-06-01 05:41:12