Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >SQL Server - SQL游标vs ADO.NET

SQL Server - SQL游标vs ADO.NET
EN

Stack Overflow用户
提问于 2009-04-29 06:16:02
回答 4查看 2.5K关注 0票数 2

我必须计算一个涉及多个表的数据的值。我想知道,与将数据读取到数据集中(使用简单的select存储过程)然后循环遍历记录相比,使用带有游标的存储过程是否会提供性能优势?数据集并不大,它由6个表组成,每个表大约有10条记录,主要是GUID、几个nvarchar(100)字段、一个浮点列和一个nvarchar(max)。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-04-29 06:19:50

这可能取决于您要检索的数据集(该集越大,在SQL Server中执行的逻辑可能越强,而不是传递它),但我倾向于认为,如果您希望执行计算,请在代码中执行,而不是在存储过程中执行。如果您需要使用游标将数据集中在一起,那就使用游标,但是使用游标进行计算和其他非检索功能,我认为应该避免使用。

编辑:这个指向另一个相关问题的Answer将给游标和循环带来一些利弊。这个答案似乎与我之前关于缩放的断言(参见上文)相冲突。似乎暗示你越大,你可能越想把它移到你的代码中,而不是存储过程中。

票数 2
EN

Stack Overflow用户

发布于 2009-04-29 06:33:02

游标应该更快,但是如果你有很多用户在运行它,它会消耗你的服务器资源。请记住,在使用.Net而不是SQL编写循环时,您可以使用一种功能更强大的编码语言。

在极少数情况下,不能使用基于标准set的SQL替换游标。如果您在服务器上执行此操作,则可以使用基于集合的操作。关于你正在做的事情有更多的细节吗?

如果您决定使用游标,请记住,FAST_FORWARD只读游标将为您提供最佳性能,并确保使用deallocate语句释放它。有关光标提示,请参见here

票数 1
EN

Stack Overflow用户

发布于 2009-04-29 06:56:59

游标的替代方案

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
declare @table table (Fields int)
declare @count int
declare @i

insert inot @table (Fields)
select Fields
from Table


select @count = count(*) from @table

while (@i<=@count)
begin


--whatever you need to do
set @i = @i + 1

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

https://stackoverflow.com/questions/802549

复制
相关文章
【说站】python如何防止栈溢出
以上就是python防止栈溢出的方法,希望对大家有所帮助。更多Python学习指路:python基础教程
很酷的站长
2022/11/23
4740
汇编语言下--如何防止除法溢出
DIV mem/reg16 ; DX余数,AX商← DX:AX / mem/reg8
书童小二
2018/09/03
1.3K0
汇编语言下--如何防止除法溢出
如何防止softmax函数上溢出(overflow)和下溢出(underflow)
《Deep Learning》(Ian Goodfellow & Yoshua Bengio & Aaron Courville)第四章「数值计算」中,谈到了上溢出(overflow)和下溢出(underflow)对数值计算的影响,并以softmax函数和log softmax函数为例进行了讲解。这里我再详细地把它总结一下。 『1』什么是下溢出(underflow)和上溢出(overflow) 实数在计算机内用二进制表示,所以不是一个精确值,当数值过小的时候,被四舍五入为0,这就是下溢出。此时如果对这个数
zenRRan
2018/04/10
2.2K0
如何防止softmax函数上溢出(overflow)和下溢出(underflow)
oracle如何防止锁表,Oracle-怎么防止oracle锁表[通俗易懂]
解决这种情况最好的方法就是在列上绑定一个序列,如果没有这么做,你也可以创建一个before触发器在插入前捕获resource_busy异常来防止阻塞:
全栈程序员站长
2022/08/27
9030
android防止内存溢出浅析
Android的虚拟机是基于寄存器的Dalvik,它的最大堆大小一般是16M。但是Android采用的是Java语言编写,所以在很大程度上,Android的内存机制等同于Java的内存机制,在刚开始开发的时候,内存的限制问题会给我们带来内存溢出等严重问题。在我们不使用一些内存的时候,我们要尽量在Android或者其他平台上避免在运行其他程序时,保存必要的状态,使得一些死进程所带来的内存问题,应该尽量在关闭程序或者保存状态的时候释放掉,这样能提高系统在运行方面的流畅性。 Android的内存主要表现在: 1.
欢醉
2018/01/22
6830
CSS基础——css 元素溢出
当子元素(标签)的尺寸超过父元素(标签)的尺寸时,此时需要设置父元素显示溢出的子元素的方式,设置的方法是通过overflow属性来完成。
落雨
2022/07/20
2.5K0
css元素溢出 overflow
当子元素的尺寸超过父元素的尺寸时,需要设置父元素显示溢出的子元素的方式,设置的方法是通过overflow属性来设置。
Devops海洋的渔夫
2019/05/31
3.5K0
【android开发】Android防止内存溢出浅析
近期项目做得差点儿相同了,測试出现了一些问题,当中一个就是内存溢出问题,在三星手机上測试最easy出现内存溢出,在其它手机上,比方华为就没有发生,也是比較郁闷。这个问题在之前的公司,做项目时也遇到过,非常大一方面是自己写的代码问题,今天在网上找了一些知识,给大家分享一下:
全栈程序员站长
2022/07/09
5280
【说站】python防止栈溢出的解决
以上就是python防止栈溢出的方法,希望对大家有所帮助。更多Python学习指路:python基础教程
很酷的站长
2022/11/23
4230
前端基础-CSS内容溢出
取值:auto当内容溢出时,生成滚动条------默认,hidden内容溢出时超出部分隐藏
cwl_java
2020/04/07
5900
前端基础-CSS内容溢出
网站安全该如何理解? 简单讲就是防止恶意攻击
作为一名网络安全工程师,“网站安全”这个词似乎离生活有些遥远,平日里很多人开启计算机最多就是登陆网站、浏览网站,至于网站安不安全,却从未关注过。近些年来,网络安全相关话题已经引起了社会的广泛关注,还记得去年暑期大火的偶像连续剧《亲爱的热爱的》讲述了男主希望为中国拿下CTF大赛冠军的梦想之路,CTF在网络安全领域中指的是网络安全技术人员之间进行技术比拼的一种比赛形式,当然,这部剧的成功之处更在于让许多年轻人对网络安全领域产生了兴趣,笔就是其中一员。本文旨在从一名网络安全工程师的角度,用更加通俗易懂的话语,介绍网站安全的相关知识。
网站安全专家
2020/02/18
9030
网站安全该如何理解? 简单讲就是防止恶意攻击
微信小程序防止重复点击,该如何处理?
当用户点击按钮或控件时,如果响应比较慢,往往会重复点击,另外也会存在用户故意反复快速点击的情况,这种时候就会多次触发点击事件造成非期望的结果。如何解决或避免这个问题呢?一般来说有两种情况。 1、点击事件是执行请求 这种情况下可以在请求执行之前显示一个模式的加载框,请求完成后再关闭加载框,由于小程序在1.1.0版本基础库才支持wx.showLoading,因此需要对低版本做兼容处理,代码如下: function showLoading(message) { if (wx.showLoading) {
连胜
2018/03/07
3.7K0
Java SQL注入危害这么大,该如何来防止呢?
直接使用 JDBC 的场景,如果代码中存在拼接 SQL 语句,那么很有可能会产生注入,如
搜云库技术团队
2019/10/18
1.2K0
技术分享 | 误删表以及表中数据,该如何恢复?
数据库误删某表恢复方法,下面介绍的的方法是针对每天有备份的数据库和开启 binlog 日志的。
爱可生开源社区
2022/07/26
8470
技术分享 | 误删表以及表中数据,该如何恢复?
爱可生数据库工程师,负责 MySQL 日常维护及 DMP 产品支持。擅长mysql故障处理。
爱可生开源社区
2022/09/26
6010
技术分享 | 误删表以及表中数据,该如何恢复?
有效防止softmax计算时上溢出(overflow)和下溢出(underflow)的方法
《Deep Learning》(Ian Goodfellow & Yoshua Bengio & Aaron Courville)第四章「数值计算」中,谈到了上溢出(overflow)和下溢出(underflow)对数值计算的影响,并以softmax函数和log softmax函数为例进行了讲解。这里我再详细地把它总结一下。 『1』什么是下溢出(underflow)和上溢出(overflow)   实数在计算机内用二进制表示,所以不是一个精确值,当数值过小的时候,被四舍五入为0,这就是下溢出。此时如果
10JQKA
2018/07/05
1.4K0
有效防止softmax计算时上溢出(overflow)和下溢出(underflow)的方法
《Deep Learning》(Ian Goodfellow & Yoshua Bengio & Aaron Courville)第四章「数值计算」中,谈到了上溢出(overflow)和下溢出(underflow)对数值计算的影响,并以softmax函数和log softmax函数为例进行了讲解。这里我再详细地把它总结一下。 『1』什么是下溢出(underflow)和上溢出(overflow)   实数在计算机内用二进制表示,所以不是一个精确值,当数值过小的时候,被四舍五入为0,这就是下溢出。此时如果
10JQKA
2018/05/09
2.8K0
有效防止softmax计算时上溢出(overflow)和下溢出(underflow)的方法
C++核心准则ES.103​:防止溢出​
Overflow usually makes your numeric algorithm meaningless. Incrementing a value beyond a maximum value can lead to memory corruption and undefined behavior.
面向对象思考
2020/06/17
3670
网站被黑客篡改了数据 该如何防止网站被攻击
在众多网站上线后出现的安全漏洞问题非常明显,作为网站安全公司的主管我想给大家分享下在日常网站维护中碰到的一些防护黑客攻击的建议,希望大家的网站都能正常稳定运行免遭黑客攻击。
技术分享达人
2020/03/26
1.8K0
网站被黑客篡改了数据 该如何防止网站被攻击
点击加载更多

相似问题

苹果正在弃用UIPopover吗?

12

Ionic Google Analytics插件正在弃用吗?

132

应该弃用Vector吗?

40

@已弃用vs @已弃用

21

由于已弃用,正在替换self->isa

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文