我有SQL表,其中存储的数据处理作业(不是SQL作业。我们系统中的作业)。如果特定作业在未处理的情况下超过10分钟,我希望收到警报
我有jobsubmittedtime属性。如果为DateDiff(minutes,jobsubmittedtime,GETDATE())>10,我想要电子邮件触发器
实现这一目标的最佳方法是什么?
发布于 2015-08-28 12:08:25
尝试:
where jobsubmittedtime > DATEADD(MINUTE, -10, GETDATE())这将允许查询基于范围扫描进行优化。
如果你写道:
where DATEDIFF(MINUTE, jobsubmittedtime, GETDATE()) > 10然后,SQL Server可能会选择执行全表扫描,以便在每一行上运行该过程来计算DATEDIFF(),其效率几乎不如第一种方法。通常,尝试对常量和输入变量而不是行值进行计算。有时这是无法避免的,但你明白这一点。
https://stackoverflow.com/questions/32263114
复制相似问题