首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL游标内存开销

问SQL游标内存开销
EN

Stack Overflow用户
提问于 2011-07-27 16:13:51
回答 1查看 2.1K关注 0票数 0

我有一个存储过程,它处理包含xml字段的表,并使用游标循环遍历它们并运行其他sp,行可以很多,文档也可以很大。有一些迹象表明,储存的东西在负载下会卡住。

我想知道这是否可能,因为游标是如何工作的,也许使用游标意味着它将整个结果集保存在内存中。不知何故,我总是想象游标就像循环遍历一个表,而也许它更像是从一个表中选择数据,将其存储在内存中,然后循环遍历它。游标是如何工作的?

PS。就我个人而言,从性能和意识形态的角度来看,我都讨厌游标(应该基于SQL进行设置),并像避免瘟疫一样避免游标。这是一个遗留代码的例子,我现在已经将其转换为使用临时表,但我仍然很好奇DS。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-27 17:09:00

这将取决于您使用的游标类型。键集游标只会将PK存储在tempdb中,然后根据需要在其他列上进行查找。其他的可能一次存储检索更多的信息、更多的行、单行等。

下面是对每种类型的很好的描述:http://searchsqlserver.techtarget.com/feature/Part-1-How-cursors-work

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6841305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档