我可以在java程序中运行一个无限循环来检查第三方是否对数据库做了一些更改吗

q8l4jmvw  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(598)

我正在用java设计一个程序,并使用mysql作为数据库。该程序允许多个用户连接到数据库。
程序的一个重要部分是立即向用户更新另一个用户在特定表中所做的更改,该更改将让用户执行操作,因此更改将显示在用户端。
我想监听一个套接字,但我无法解析多个用户的概念,以及发送者如何只通知特定用户而不是整个组
这类似于短信
所以,我要做的是运行一个while循环,每10秒运行一次,以提高性能一点,并将检查表与我用来登录的用户名这将得到我想要的,但我知道这是没有效率的
有什么想法吗???

k97glaaz

k97glaaz1#

在数据库表中使用“版本控制”模式。添加每次更新表时递增的数值列,例如:

alter table users add version_number bigint:

然后,每次更新行时,也应增加此值:

update users
  set my_value = ...,
    version_number = version_number + 1 -- include this change
  where id = 1234

这样,每个客户机都会记住他们看到的最后一个版本号。我发现一个不同的版本号,然后发生了变化,所以应该采取行动。

相关问题