没有必要使用fetch,改用这样的方法,压力会小很多
declare @id int
set @id = 0
while 1=1
Begin
Select Top 1 @id=ID From 表 Where ID>@id Order By ID
if @@ROWCOUNT=0
break;
//这个地方就可以利用@id来进行后续的操作了
End
但需要注意的是,首先你的ID必须是一个唯一值,其次,那些过滤条件以及排序条件最好加上索引
SQL 游标中 WHILE 替代方法,减少SQL服务器压力
最新推荐文章于 2025-06-16 16:32:07 发布
本文介绍了一种通过跟踪最大ID值来减少数据库查询压力的方法。该方法避免了使用fetch操作,并通过循环递增的方式检查新记录,适用于具有唯一ID且经过适当索引优化的表。
283

被折叠的 条评论
为什么被折叠?



