我的数据库中有一个存储过程。当我调用该存储过程时,有时需要1分钟,有时需要10分钟,有时需要更多时间才能完成。花费很多时间的存储过程
在下面的步骤单独花费更多的时间在整个过程中,不知道这个可怜的查询,需要重新编写存储过程或一些其他的服务器问题
IF (EXISTS (SELECT 1
FROM table1 PWI (NOLOCK)
INNER JOIN table2 W (NOLOCK) ON PWI.ID = W.ID
WHERE W.Flag = 1
AND PWI.PatID IN (SELECT PatID FROM @table3)
AND W.SubID IN (SELECT SubID FROM @table4)))
请帮助解决这个问题
执行计划? –
对于初学者,你应该摆脱那些NOLOCK提示。 99.999%的时间他们不是一个好主意。 http://blogs.sqlsentry.com/aaronbertrand/bad-habits-nolock-everywhere/ –
表格定义(包括索引),执行计划,近似行数在这里都会非常有帮助。 –