如果数据库记录插入时间超过10分钟,则发送电子邮件



我有一个SQL表,它存储处理作业(不是SQL作业)的数据。我们系统中的工作)。如果某个作业超过10分钟且没有处理

,我想获得一个警报

我有jobsubmittedtime属性。如果DateDiff(minutes,jobsubmittedtime,GETDATE())>10我想要一个电子邮件触发器

实现这一目标的最佳方法是什么

尝试:

where jobsubmittedtime > DATEADD(MINUTE, -10, GETDATE())

这将允许查询基于范围扫描进行优化。

如果你写:

where DATEDIFF(MINUTE, jobsubmittedtime, GETDATE()) > 10

那么SQL Server可能会选择做一个全表扫描,在每一行上运行这个过程来计算DATEDIFF(),并且不像第一种方法那么有效。通常,尝试对常量和输入变量进行计算,而不是对行值进行计算。有时候这是不可避免的,但你明白了。

相关内容

最新更新