跪求关于检查重复数据的高效设计,详见内容...

zhengpeiyong 2009-08-27 04:30:47
各位高手,问个关于检查重复数据的问题,目前的一套系统中的一个子流程为“从一个表中每小时提取提醒信息数据——检查该条信息第一次提醒到现在是否经过3/6/24小时——根据经过的时间不同,提醒的信息不同,24小时外则重新循环”
提取数据和信息提醒都已实现,但检查每条信息的第一次提醒时间和现在时间的间隔不知道如何设计好,最笨的方法是把每条提醒过的记录记录在一个数据表中,然后每一小时用新数据去和这个表比对来检查间隔时间,但是这样效率太低,而且要特别频繁地存储数据,对比数据,因此希望各位高手能给出一个更合理的比对数据的设计,谢谢各位
只能发100分,解决了另附100
...全文
91 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
水晶平衡木 2009-09-10
  • 打赏
  • 举报
回复
呵呵,俺说一种方法啊。

记录提醒总得有个表吧?表里记录着这个提醒相关信息,比如,从何时开始提醒、多久提醒一次、提醒方式,等等。在这里,我认为只要添加一个字段,记录下次提醒的时间就行了。比如,开始时间为2009-10-10 14:00:00,间隔为3(小时),那么,第一次提醒的时候,这个字段就写2009-10-10 17:00:00;第二次就写2009-10-10 20:00:00;…… 这样,每次就直接判断这个下次提醒时间和当前时间就行了。
zhengpeiyong 2009-09-06
  • 打赏
  • 举报
回复
唉,还是没有合适的方法。。。
dollbo_chow 2009-08-28
  • 打赏
  • 举报
回复
24小时循环提取: 建立一个日期的字段DATE去区分时间,建立一个第一次提醒的时间字段记录下来FIST_TIME。
3、6、24小时:同样设计一个外键 = 上面的DATE来区分哪一天的记录,一个时间间隔标签TIME_FLAG,0,1,2分别代表3,6,24。
每次通过date分类,根据flag进行查询就知道接下来该写哪一个了。至于时间间隔,因为第一次提醒的时间已经记录下来了,简单查询就知道的吧
周成风 2009-08-28
  • 打赏
  • 举报
回复
没有做过类似方面的东西。

不过感觉你这样应该属于数据库设计方面的问题,和设计模式关系不大。
第一次提醒时间存储在和提醒信息数据同一行(数据库中同一条记录),获取后和当前时间进行对比,根据时间进行判断,然后将当前的时间写入当前记录。这样下次就可以以相当的方法判断了。

3,409

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 设计模式
社区管理员
  • 设计模式
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧