1

これを使用して、GAE(java)の300,000エンティティを削除しようとしています。

 PersistenceManager pm = PMF.get().getPersistenceManager();

 Date date70DaysAgo = Calendar.getInstance().getTime();
 date70DaysAgo.setDate(date70DaysAgo.getDate()-70);

 Query query = pm.newQuery(PositionApplication.class);
 query.setFilter("date <= yyy");
 query.declareParameters("java.util.Date yyy");
 query.setRange(0,750);
 Collection<PositionApplication> elements = (Collection<PositionApplication>)query.execute(date70DaysAgo);

 pm.deletePersistentAll(elements);

1日あたりの書き込み操作は50000に制限されています(無料の割り当て)。私は素朴に6〜7日でそれを行うべきだと思いましたが、1回の呼び出しで1日の割り当ての1/5が使用されているようです。

->データストア書き込み操作 21%0.05MillionOpsの0.01

10 000の書き込み操作、なぜ750ではないのですか?

インデックスと関係がありますか?

4

1 に答える 1

1

エンティティを削除すると、データストアはプロパティごとのインデックスと複合インデックスのエントリも削除する必要があります。

各エンティティの削除の計算は次のとおりです。

2書き込み+インデックス付きプロパティ値ごとに2書き込み+1複合インデックス値ごとに書き込み

すべてのデータストア操作の計算については、請求および予算リソースのドキュメントを参照してください。

于 2012-02-12T11:25:20.390 に答える