在我的Java EE 7应用程序中,我创建了一个每小时运行一次的持久计划任务.我使用过@Schedule注释.
调用此作业时,我想对从最后一小时到现在发生的事件执行一些操作.为了获得现在,我使用"new Date()".
这个@Schedule的默认持久属性为"true",这很好,因为如果服务器在几个小时内停止,我想在重新启动时执行这些任务.
问题是,如果服务器在5个小时内停止,则作业将启动5次,但在所有执行中,"new Date()"将被执行,结果将是相同的.
是否有任何方法可以检索@Schedule作业应该启动时的日期???
在启动项目时,是否应该在开始时创建SQL索引?
我有一个项目,我还没有在生产中创建任何索引.将增长最多的表有30000行,我已经测量了对该表的查询时间,创建索引并在之后删除它.时间非常相似.
我决定推迟在生产中创建索引,直到我发现在创建查询时减少了查询的响应时间.
我的方法是否正确?或者我应该现在创建它们?