5

Keys over String を Google App Engine データストアに保存する利点はありますか。

例えば:

class Model(ndb.Model):
    user_key = ndb.KeyProperty()

VS

class Model(ndb.Model):
    user_id = ndb.StringProperty()
  • StringID の代わりに Key を格納する必要があるのはなぜですか? 便宜上だけですか?
  • 使用するストレージ スペースが少ないのはどれですか?
  • クエリが速いのはどれですか?
4

1 に答える 1

5

エンティティ グループ(祖先)を使用している場合、KeyProperty はそれをサポートします。ID を保存するときは、保存している ID のモデルがエンティティ グループのルートでない限り、十分な情報を保存して完全なキーを再構築する必要があります。

KeyProperty は追加のデータを格納するため、より多くのスペースを必要としますが、他のエンティティを取得するときに使用する方が便利な場合があります。クエリ速度は同等である必要があります。

于 2012-02-11T06:33:05.143 に答える