AppEngine:删除时奇怪的WriteOperation计数

时间:2012-02-12 10:47:54

标签: java google-app-engine quota persistence-manager

我正在尝试删除GAE(java)中的30万个实体,使用它:

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

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

- &GT;数据存储写入操作 21%0.01 为0.05百万次操作

10 000个写操作,为什么不写750?

它与索引有关吗?

1 个答案:

答案 0 :(得分:1)

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

删除每个实体的计算是:

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

有关所有数据存储区操作的计算,请参阅Billing and Budgeting Resources文档。