我收到了关于我们的打印标签软件中令人难以置信的缓慢查询的索赔。使用 SQL Profiler,我得到了违规查询并开始在性能非常差的 SSMS 中进行测试(大约00:50:00)。查询很长,表很大,但是有一个
WHERE
...
fieldX > {ts '2016-01-01 00:00:00} /* fieldX is a DATETIME */
...
我改为
WHERE
...
fieldX > DATEADD(YYYY, -1, GETDATE())
...
现在执行时间显示为00:00:00 !!
我只想明白为什么?