日期:2014-05-17  浏览次数:20461 次

实时扫描数据库的方法如何实现?
现在有一个这样的需求,类似于发邮件的功能,在邮件生成时,记录一个发信时间,然后当时间到了的时候,系统有程序进行邮件发送。

现在的做法是,做了一个扫描程序,每分钟进行一次数据扫描。这样可以保证信息生成后,在1分钟以内进行发送。但是如果对于时间的要求更高时,例如需要精确到秒,这样制作一个扫描程序是不是会对服务器造成很大的压力?

这类的需求是如何实现的呢,可以不局限于数据库技术,大家给点解决头绪。

------解决方案--------------------
service broker 可以做lz这事儿.
------解决方案--------------------
JOB最小10秒一次。
用程序定时查询,循环时间无限制。
解决方案取决于业务情况,压力大不大取决于业务量:
#1.表的数据量大小
#2.是否有合适的索引
#3.每次是否可只取TOP(N)
------解决方案--------------------
应该用触发的机制,而不是定时扫描的机制
------解决方案--------------------
扫描程序肯定对服务器造成很大的压力,数据库就更受不了秒级别的频繁操作。楼主这种情况建议使用内存数据库,这不是关系数据库干得了的事。
------解决方案--------------------
不如写个控制台程序,或者winservice,让操作系统来运行。