Даже со всем, что я знаю о хранилище данных AppEngine, я не знаю ответа на это.Я пытаюсь избежать написания и запуска всего кода, необходимого для его выяснения, в надежде, что кто-то уже знает ответ.
У меня есть такой код:
class AddlInfo(db.Model)
user = db.ReferenceProperty(User)
otherstuff = db.ListProperty(db.Key, indexed=False)
Исоздать запись с помощью:
info = AddlInfo(user=user)
info.put()
Чтобы получить этот объект, я могу сделать что-то вроде:
# This seems excessively wordy (even though that doesn't directly translate into slower)
info = AddlInfo.all().filter('user =', user).fetch(1)
или я могу сделать что-то вроде:
class AddlInfo(db.Model)
# str(user.key()) is the key to this record
otherstuff = db.ListProperty(db.Key, indexed=False)
Созданиевыглядит так:
info = AddlInfo(key_name=str(user.key()))
info.put()
А затем получить информацию с помощью:
info = AddlInfo.get(str(user.key()))
Мне не нужно reference_property в AddlInfo, (я получил с помощью объекта пользователя в первомместо).Что быстрее / менее ресурсоемко?
==================
Часть того, почему я делал это таким образом, заключается в том, что другие вещиможет быть список из 100+ ключей, и они мне нужны только иногда (вероятно, менее чем в 50% случаев). Я пытался сделать его более эффективным, не загружая эти 100+ ключей при каждом запросе .....