【第一次发帖】怎么知道数据库有新数据?

时间:2022-12-11 18:40:53
数据库是共享的mysql,数据是另一个系统录入的,我要对新数据做个简单的处理,问题是我要怎么知道数据库有新数据?

目前我的做法是,没秒查询一次,记录最大时间,如果查询到的最大时间比我保存的最大时间大,说明有新数据,然后处理新数据,并且保存新数据的最大时间,一直这样循环下去。

想问下大神有没有简单点的方法知道数据库有新数据?不用这样每秒去查询一次数据库。

9 个解决方案

#1


具体有没有什么方法不知道,不过你这样每秒都查,有考虑性能吗?

#2


引用 1 楼 w405112941 的回复:
具体有没有什么方法不知道,不过你这样每秒都查,有考虑性能吗?


就是性能上考虑的,所以想换一种方法,虽然目前来说没问题,但是很不爽,万一出问题就麻烦了.
我新手,又不知道别的方法,现在很郁闷,这百度也搜不到,来这求高手指导.

#3


定义表级的触发器就可以了,当有新的数据插入的时候,触发触发器,做相应的操作
或者让触发器将新纪录的条目记录到一个表中,然后根据这个表中的记录做相应的操作

#4


引用 3 楼 magi1201 的回复:
定义表级的触发器就可以了,当有新的数据插入的时候,触发触发器,做相应的操作
或者让触发器将新纪录的条目记录到一个表中,然后根据这个表中的记录做相应的操作


处理逻辑是在java后台,触发器能让java后台的方法运行? 新手不是很懂. 【第一次发帖】怎么知道数据库有新数据?

#5


引用 4 楼 u014260462 的回复:
处理逻辑是在java后台,触发器能让java后台的方法运行? 新手不是很懂. 【第一次发帖】怎么知道数据库有新数据?

你的更新必须即时吗?如果没有即时的要求,可以写个定时任务,隔一段时间去扫一下触发器插入的新数据的表,然后做相应的处理。
如果必须即时的话,不好意思,木有思路啦  【第一次发帖】怎么知道数据库有新数据?

#6


引用 5 楼 magi1201 的回复:
Quote: 引用 4 楼 u014260462 的回复:

处理逻辑是在java后台,触发器能让java后台的方法运行? 新手不是很懂. 【第一次发帖】怎么知道数据库有新数据?

你的更新必须即时吗?如果没有即时的要求,可以写个定时任务,隔一段时间去扫一下触发器插入的新数据的表,然后做相应的处理。
如果必须即时的话,不好意思,木有思路啦  【第一次发帖】怎么知道数据库有新数据?


就是即时的,要立马处理,所以没办法只能每秒去查询一次了。 【第一次发帖】怎么知道数据库有新数据?

#7


大神们求帮忙!! 估计我说的不明白,我举个简单的例子。

假设一个系统负责出问题: 比如 1+1 = ? 
然后把 1+1=? 存到数据库。
而我的系统是负责解答。 读取数据库里的1+1=? 进行处理 变成 1+1=2 存到数据库。

出问题的系统和我负责解答的系统是两个系统,互不相干,唯一联系就是共用数据库mysql。
然后我不知道出问题的系统啥时候出问题,也不知道出几道问题,(一道问题是一条数据),唯一的方法就是每秒去查询一次数据库看看有没有新出的问题,如果有,就解答,没有就继续查询(因为问题要立马解答,所以只能每秒查询一次)。

现在我求大神就是,当数据库有新数据时告诉我的系统,让我去处理数据库里的新问题,而不是我每秒去查询一次才知道有新问题。 【第一次发帖】怎么知道数据库有新数据?

#8


没有一点办法了吗 【第一次发帖】怎么知道数据库有新数据?

#9


楼主问题有结果时,可以分享一下答案啊

#1


具体有没有什么方法不知道,不过你这样每秒都查,有考虑性能吗?

#2


引用 1 楼 w405112941 的回复:
具体有没有什么方法不知道,不过你这样每秒都查,有考虑性能吗?


就是性能上考虑的,所以想换一种方法,虽然目前来说没问题,但是很不爽,万一出问题就麻烦了.
我新手,又不知道别的方法,现在很郁闷,这百度也搜不到,来这求高手指导.

#3


定义表级的触发器就可以了,当有新的数据插入的时候,触发触发器,做相应的操作
或者让触发器将新纪录的条目记录到一个表中,然后根据这个表中的记录做相应的操作

#4


引用 3 楼 magi1201 的回复:
定义表级的触发器就可以了,当有新的数据插入的时候,触发触发器,做相应的操作
或者让触发器将新纪录的条目记录到一个表中,然后根据这个表中的记录做相应的操作


处理逻辑是在java后台,触发器能让java后台的方法运行? 新手不是很懂. 【第一次发帖】怎么知道数据库有新数据?

#5


引用 4 楼 u014260462 的回复:
处理逻辑是在java后台,触发器能让java后台的方法运行? 新手不是很懂. 【第一次发帖】怎么知道数据库有新数据?

你的更新必须即时吗?如果没有即时的要求,可以写个定时任务,隔一段时间去扫一下触发器插入的新数据的表,然后做相应的处理。
如果必须即时的话,不好意思,木有思路啦  【第一次发帖】怎么知道数据库有新数据?

#6


引用 5 楼 magi1201 的回复:
Quote: 引用 4 楼 u014260462 的回复:

处理逻辑是在java后台,触发器能让java后台的方法运行? 新手不是很懂. 【第一次发帖】怎么知道数据库有新数据?

你的更新必须即时吗?如果没有即时的要求,可以写个定时任务,隔一段时间去扫一下触发器插入的新数据的表,然后做相应的处理。
如果必须即时的话,不好意思,木有思路啦  【第一次发帖】怎么知道数据库有新数据?


就是即时的,要立马处理,所以没办法只能每秒去查询一次了。 【第一次发帖】怎么知道数据库有新数据?

#7


大神们求帮忙!! 估计我说的不明白,我举个简单的例子。

假设一个系统负责出问题: 比如 1+1 = ? 
然后把 1+1=? 存到数据库。
而我的系统是负责解答。 读取数据库里的1+1=? 进行处理 变成 1+1=2 存到数据库。

出问题的系统和我负责解答的系统是两个系统,互不相干,唯一联系就是共用数据库mysql。
然后我不知道出问题的系统啥时候出问题,也不知道出几道问题,(一道问题是一条数据),唯一的方法就是每秒去查询一次数据库看看有没有新出的问题,如果有,就解答,没有就继续查询(因为问题要立马解答,所以只能每秒查询一次)。

现在我求大神就是,当数据库有新数据时告诉我的系统,让我去处理数据库里的新问题,而不是我每秒去查询一次才知道有新问题。 【第一次发帖】怎么知道数据库有新数据?

#8


没有一点办法了吗 【第一次发帖】怎么知道数据库有新数据?

#9


楼主问题有结果时,可以分享一下答案啊