轮询的性能改善 问题:服务器后台每一分钟查询数据库表一次,查出创建超过30分钟但是还没处理的记录,然后把该记录的信息发送邮件/短信给需要处理的人,提醒他及时处理该记录。但是这个每分查询一次消耗太多的服务器资源和数据库资源,请教各位,有没有好的处理方案,性能好还能达到这样的目的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 像这种即时通知的一般有两种模式,消息通知,轮询,现在看来消息通知应该不现实,因为你是30分钟后才通知,没有事件触发,所以只能轮询。至于效率,你可将需要轮询的表与事件相关的表分开,尽可能少的字段和记录(用完的记录即时清除或移走)这个表只做轮询用,关键数据冗余都可。 我也遇到这种需求。那位帮忙解答一下我是采用临时表的方式来做 我也遇到了,还不知道如何下手。 呵呵,我也有这种问题,不过情况比lz好,一天轮询一次即可,并且放在凌晨这种确实没什么好方法,像1#那样,尽量只保留表关键字段,可以提升些许性能,不过还要根据你的数据量,一旦数据量很大的话…… 我也是考虑如此,临时表。但是单子是有状态的,比如一张单子是制单状态,那就拿到临时表里面,但当单子被处理后,状态改变了,这时临时表就应该清除它。就是说当单子状态改变的时候都有可能影响临时表,这样的话,改动就太大了,因为有很多单子,每张单子的操作都影响到临时表的状态,需要在每张单子操作之后进行判断,然后改变临时表的状态,改动实在太大。大伙有什么好的提议吗?谢谢啦 如果“但是这个每分查询一次消耗太多的服务器资源和数据库资源”,那么是你索引和线程方面的设计问题,跟轮询没有关系。 我的意思是:单子很多,而且分不同的类型和内容,每分钟查询一次,要查询的东西很多,需要服务器资源。而且每分钟一次,肯定会消耗资源。我想请教大家在设计上有没有好的思路,达到目的还有好的性能。我用的服务器不是很好。 查询的时候只查一个表,不同的来源都往这个表里写。 临时表吧,每次逗得重新查,固定表吧,单子状态改变还得更新这个表,改动太多^ C# web登陆 提示账号密码错误这段代码怎么写? 探讨模拟炒股的架构 请高手 配置服务器的时候出现的问题,在线等!急!求解求帮顶! 页面传值的问题 如何提交大文本(几万字)内容到数据库中 asp.net/C# 页面跳转问题.求技术型指点 DataGrid 分页加载问题? 关于从对象外访问该属性的问题。 .net MVC权限控制,大神救我 用rainbow cms系统,MS系统默认的管理用户无法修改? MS SQLSERVER 2005 设置日期字段格式
现在看来消息通知应该不现实,因为你是30分钟后才通知,没有事件触发,所以只能轮询。
至于效率,你可将需要轮询的表与事件相关的表分开,尽可能少的字段和记录(用完的记录即时清除或移走)
这个表只做轮询用,关键数据冗余都可。
但是单子是有状态的,比如一张单子是制单状态,那就拿到临时表里面,但当单子被处理后,状态改变了,这时临时表就应该清除它。就是说当单子状态改变的时候都有可能影响临时表,这样的话,改动就太大了,因为有很多单子,每张单子的操作都影响到临时表的状态,需要在每张单子操作之后进行判断,然后改变临时表的状态,改动实在太大。大伙有什么好的提议吗?谢谢啦
我想请教大家在设计上有没有好的思路,达到目的还有好的性能。我用的服务器不是很好。
不同的来源都往这个表里写。