sql server 游标中 select语句是查找所有数据到内存中还是读一条取一条?

declare mycursor cursor 
local static read_only forward_only
for
SELECT p.Id,p.parno,pc.ClassName,pv.attr10,pv.attr11,pv.attr4 FROM dbo.Pro_View
OPEN mycursor
FETCH NEXT from mycursor into 
WHILE @@FETCH_STATUS = 0
BEGIN

FETCH NEXT from mycursor into @id,@parno,@classname,@attr10,@attr11,@attr4
END
CLOSE mycursor

 

 

上面红色语句是把所有的数据都取出来当内存中还是在执行

FETCH NEXT from mycursor into 的时候再从数据库中取出来??
翻翻过去那场雪
浏览 714回答 5
5回答

慕桂英3389331

应该是根据SQL Server本身的可用内存和CPU负载决定是否一次加到内存。

慕斯王

SQL Server 有个设置:每次查询占用的最小内存,默认为 1024KB;

收到一只叮咚

想想如果查找的内容很多,内存放不下了,是不是就不能查找了?

慕莱坞森

游标中select查询是读一条取一条,虽然比较慢,但是也有他的好处,比如,不会把服务器卡死
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server