大規模なデータセットに対する祖先クエリのパフォーマンスを向上させる方法についてのアドバイスを探しています。現在、祖先クエリの多くは DeadlineExceededError を通過するのに非常に時間がかかりますが、祖先フィルターを使用せずに同じクエリを実行すると、少し遅い場合でも問題なく動作します。
データは、クエリ対象の種類である各種類のエンティティが種類の親の 3 つのエンティティの下にネストされるように構造化されています。(たとえば、エンティティ キーのパスは ['Parent', 'keyname1', 'Parent', 'keyname2', 'Parent', 'keyname3', 'Entity', 'keyname4'] になります。
クエリは次の形式を取ります。
Entity.all().ancestor(parentkey).filter('property IN', list)
wherelist
は最大 3 つの値のリストであり、parentkey は問題のエンティティより 2 つまたは 3 つのレベル上にある場合があります。
ここで何が起こっているかについてのアイデアはありますか?