Java 为什么我的web应用程序中出现死线超标异常?
我正在使用谷歌应用程序引擎。以前一切正常,但现在当我调用servlet时,浏览器会花费很多时间,然后显示以下内容:Java 为什么我的web应用程序中出现死线超标异常?,java,eclipse,google-app-engine,exception,servlets,Java,Eclipse,Google App Engine,Exception,Servlets,我正在使用谷歌应用程序引擎。以前一切正常,但现在当我调用servlet时,浏览器会花费很多时间,然后显示以下内容: DeleteBooksServlet: com.google.apphosting.api.DeadlineExceededException: This request (0000000000000000) started at 2011/10/08 10:58:13.573 UTC and was still executing at 2011/10/08 10:59:13.
DeleteBooksServlet: com.google.apphosting.api.DeadlineExceededException: This request (0000000000000000) started at 2011/10/08 10:58:13.573 UTC and was still executing at 2011/10/08 10:59:13.036 UTC.
在这个servlet中,我有一个查询,它从数据库中获取所有书籍,然后删除它们
以前,同一个servlet工作得很好,但现在我明白了。为什么我现在得到这个东西?提前感谢。因为数据库中的书籍太多,查询需要花费很多时间(超过1分钟),而GAE在请求太长时会抛出此异常
请参见,因为数据库中的书籍太多,查询需要花费大量时间(超过1分钟),而且当请求太长时,GAE会抛出此异常 请参见删除n本书需要O(n)个时间。当该时间超过请求限制时,您需要加快该操作 一种非常好的通用技术是将删除内容分成多个批次,其中一个批次可以删除(例如,100本书)。然后使用任务队列框架计划和运行批处理。有些人更进一步,使用框架来管理批处理。删除n本书需要O(n)个时间。当该时间超过请求限制时,您需要加快该操作
一种非常好的通用技术是将删除内容分成多个批次,其中一个批次可以删除(例如,100本书)。然后使用任务队列框架计划和运行批处理。有些人更进一步,使用框架管理批处理。超过1分钟?你是在删除超过1000万本书还是什么?或者您是在使用非索引列上的
进行删除,其中
?阅读有关如何以及何时正确索引DB表的内容。是否超过1分钟?你是在删除超过1000万本书还是什么?或者您是在使用非索引列上的进行删除,其中
?阅读有关如何以及何时正确索引DB表的内容。