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);

我每天限制为 50 000 次写入操作(免费配额)。我天真地认为应该在 6-7 天内完成,但似乎 1 个调用使用了每日配额的 1/5。

--> 数据存储写入操作 21% 0.01 of 05000 操作

10 000 次写入操作,为什么不是 750?

它与索引有关吗?

4

1 回答 1

1

删除实体时,数据存储还必须删除每个属性索引和复合索引中的任何条目。

每个实体的删除计算为:

2 次写入 + 每个索引属性值 2 次写入 + 每个复合索引值 1 次写入

有关所有数据存储操作的计算,请参阅计费和预算资源文档。

于 2012-02-12T11:25:20.390 回答