我想知道我是否可以每秒检查数据库以获得比当前日期更早的字段。
select o from Entity as o where o.date <= CURRENT_TIMESTAMP
对于表演来说,它不是很好不是吗?有什么办法吗?
我正在使用CDI和EJB构建一个JSF webapp,通过JPA持久性。
更多详情:
我在名为“Actions”的表中设置了一个操作列表。当Actions.fieldDate等于当前日期时,必须执行这些操作。
我目前正在使用Java EE7和最后一个JDK 8.
答案 0 :(得分:0)
您可以使用物化视图
这可以以某些数据为代价实现更高效的访问 可能已经过时了。它在数据仓库中最有用 方案,其中频繁查询实际基表可以 昂贵。 - wikepedia
答案 1 :(得分:0)
很多将取决于您对Actions表的条目的频率以及它们可以保留的时间戳。例如,如果您希望提前输入条目,比如在执行操作之前最少5分钟,那么您可以通过ttl为5分钟的物化视图或其他缓存机制来降低读取频率。
或者,您可以在操作表上设置一个触发器,告诉您有关新行插入的信息,然后阅读它并相应地安排它。