我尋求建議,我怎麼能在速度方面的改善這一點:提高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