【发布时间】:2013-04-05 15:20:13
【问题描述】:
我需要调用一个存储过程,在 SQL Server 2008 数据库上每次调用最多需要 15 分钟。
会不会对访问同一数据库/数据库服务器的其他系统造成性能影响?如果是这样,我怎样才能最大限度地减少对性能的影响?
更新:存储过程比较审计历史记录,它需要根据记录的类型调用另一个存储过程,因此必须逐行完成。我可以将光标更改为 while 循环,但是可能需要处理超过 300 万行(取决于过滤条件)。
【问题讨论】:
-
cursor 或 while 循环都很慢,这可能是你 sp 这么慢的原因。尝试用 CTE 替换它并加入
标签: sql sql-server performance stored-procedures long-running-processes