リストプロパティは、Google App Engineのエンティティごとのインデックスエントリにどのように影響しますか?

StackOverflow https://stackoverflow.com/questions/4478790

質問

エンティティごとに5000のインデックスエントリの制限があることを知っています。つまり、このようなことはできません。

class Foo(db.Model):
   x = db.ListProperty(int)
   y = db.ListProperty(int)

foo1 = Foo(x = range(5001))
foo1.put()

さらに、index.yamlにインデックスがある場合

- kind: Foo
 properties:
 - name: x
 - name: y

次に、このスレッドからもわかります。

http://groups.google.com/group/google-appengine/browse_thread/thread/d5f4dcb7d00ed4c6

私はこれを行うことができないこと:

foo2 = Foo(x = range(100), y=range(100))
foo2.put()

それは私に10,000のインデックスエントリを与えるからです。

ただし、私の質問は次のとおりです。FOOのYAMLと試してみてください。

foo3 = Foo(x = range(100), y=range(100))
foo3.put()

それはまだ「エンティティのバドレケステロロール:インデックス化されたプロパティが多すぎる」例外を引き起こしますか?私のテストからは、エラーが発生しないようです。これは正しいです?この場合、FOO3にはいくつのインデックスエントリがありますか? 200(各リストの長さの合計)ですか?または、他の何か?

役に立ちましたか?

解決

あなたは正しい - これは例外を提起することはなく、200のインデックスエントリを作成します。

複合インデックスでこれが機能する方法は、1つのインデックス行が一意の値の組み合わせごとに作成され、組み込みのインデックスは値ごとに1つのインデックス行を作成することです。モデル。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top