Java应用程序不断检查表中添加的新行

标签 java mysql database

我有一个场景:我们有一个大表(它被分成几个小表),我想使用触发器来跟踪更改。如果大表有插入、更新和删除事件,我们将向跟踪表插入行。我需要构建一个 Java 应用程序来连续检查跟踪表,看看是否还有行,将它们取回,进行一些计算,更新缓存并删除它们。
我的问题是最有效的实现方法是什么?
一些担忧:

  • 持续检查数据库不太好。也许每次睡一秒钟?
  • 跟踪表中的某些行可以按 ID 分组在一起。我们每次只需要处理不同的ID。
  • 需要限制返回行数,一次可能为 200 行。

最佳答案

这听起来像是您正在尝试在数据库中实现队列。 JMS 可能是更好的选择。

您可以定期轮询表以查找条目。如果 ID 必须组合在一起,我假设您需要某种方式来了解 ID 是否完整。

如果您的 IDS 大小不断增加,您可以在查询中包含接下来的 200 个 ID。例如WHERE id < {id-up-to} + 200

关于Java应用程序不断检查表中添加的新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9662440/

相关文章:

c# - C# 中的轻量级类到 MySQL 记录映射?

java - 使用带有 Swing 组件的 RMI 代理时性能不佳

java - 如何发现哪个类路径条目提供了类?

java - 表不存在 hibernate

mysql - 在每次更新时触发触发,而不仅仅是一列

c# - linq to sql 选择作为命令

java - 在抽象类中执行方法执行顺序

java - AsyncTask 中的错误导致随机响应

php - 使用 Apache 2 和 PHP 5.5 安装 MySQLi

mysql查询输出购买过该用户购买过的任意同款车型的人数