BBQ*_*BBQ 5 .net architecture sql-server polling
我正在构建一个处理数据后异步发送邮件的系统(处理过程可能需要10秒钟)。
我最初的想法是让Windows服务每3秒对数据库进行一次数据处理请求轮询,以处理第一条记录。完成后,轮询并获取要处理的新的第一条记录。
如果没有记录,请等待3秒钟,然后再次轮询以检查记录。
我不确定这是否是个好主意。我认为使用计时器不是编程的好方法。另外,即使在不需要时,数据库的性能和使用也很重要。
在这种情况下,最佳做法是什么?
使用的技术:.net 3.5,SQL Server,服务器处于服务器场中。
这完全取决于您创造了多少开销。
如果您可以有效地轮询数据库(即,使用简单的查询),并且这种轮询不需要大量的网络流量(通常不需要),为什么不每 3 秒轮询一次呢?
你是如何达到第三名的?是任意的还是有理由每 3 秒精确检查一次?
为了保持查询简单,您可以使用 2 个查询:一个用于检测是否有新数据,另一个用于实际获取数据。通过这种方式,您可以优化最常出现的问题(显然是第一个)。
| 归档时间: |
|
| 查看次数: |
1656 次 |
| 最近记录: |