0

セットの問題を効率的な Google アプリ エンジン データストア ソリューションに変換する際に問題が発生しています。問題は次のとおりです。2 つのオブジェクト間の関係を定義するエンティティがあります。つまり、次のようなものです。

struct Relation
{
  Obj1 int
  Obj2 int

  // other data
}

ここで、効率的な方法で次のクエリを実行したいとset = [obj1, obj2, obj3, obj4]考えてEE.Obj1 ∈ set ∧ E.Obj2 ∈ setます。セットを事前に知らないため、セット内のすべてのエントリを一度に事前計算することはできないことに注意してください。特定のセットの一部であるすべての関係を効率的に取得できるように、データストアでこの問題を表現する方法はありますか?

4

1 に答える 1

1

同等の GQL クエリは "SELECT * FROM Kind WHERE Obj1 IN :1 AND Obj2 IN :1" で、最初のパラメーターとしてセットを渡します。残念ながら、IN クエリは用語ごとに 1 つのクエリに拡張されるため、ここではクエリの組み合わせが爆発的に増加します。4 つの要素セットの場合は 16 のクエリになります。標準クエリでこれを回避する方法は実際にはありません。

于 2012-05-15T04:13:21.873 に答える