作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试使用以下 Java 代码执行 SQL 查询(SELECT
操作):
ResultSet resultSet = statement.executeQuery("SELECT * FROM tasks");
while (resultSet.next()) {
while (1) {
//loop infinitely until a worker executes the task
}
}
但是在添加新任务的情况下效率很低,因为 SELECT
不会检测到新的更改..
那么,在特定表中检测新插入的同时获取整个条目的 Postgres SQL 语法是什么?
最佳答案
您想要的听起来像是更改数据捕获 (CDC),您只需要自上次查询表以来更改的内容。
为此,您需要一种方法:1.标记已更改的行2.标记已经存在的行
唯一的方法是:1. 保留一份表的副本,以便您可以将其与正在更新/插入的表进行比较。2. 使用表中的审计列,如 date_inserted、last_modified 等,并提取上次查看表后日期的行。3. 将正在更新的表实现为一个缓慢变化的维度。
关于java - Postgres : How to get SELECT to detect new insertions within a specific table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47203512/
我是一名优秀的程序员,十分优秀!