2011-12-23 73 views
0

我需要从数据存储删除批量记录,我经历了所有以前的链接,但都只是谈论从数据存储获取实体,然后逐一删除它们,问题在我的情况是,我有大约80K实体,并且只要我尝试使用数据存储区db.delete()方法执行操作,读取就会超时。如何从谷歌应用批量删除Engien数据存储

有没有人在这里通过任何机会知道更接近SQL的方法来执行批量删除?

+2

查看答案[这里](http://stackoverflow.com/questions/108822/delete-all-data - 对于一类功能于谷歌 - 应用程序引擎/)。 :) – Kjuly 2011-12-23 05:27:10

回答

3

您可以使用Task Queue + DB Cursor进行删除。

任务最多可以执行10分钟,可能已经足够时间删除所有实体。但是如果花费更长时间,您可以获取当前光标位置,并再次调用任务本身,将此光标作为参数,并从最后一个位置开始处理。

0

定义您正在使用的API。 JDO? GAE? JPA?你引用了一些db.delete,但将其标记为JDO;他们不一样。 JDO显然提供了pm.deletePersistentAll(),如果想要更多,你可以使用Google Mapper API

相关问题