SQL Server游标的使用
SQL Server游标的使用 游标是邪恶的! 在关系数据库中,我们对于查询的思考是面向集合的。而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服。 正常面向集合的思维方式是: 而对于游标来说: 这也是为
SQL Server游标的使用
游标是邪恶的!
在关系数据库中,我们对于查询的思考是面向集合的。而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服。
正常面向集合的思维方式是:
而对于游标来说:
这也是为什么游标是邪恶的,美国空间,它会使开发人员变懒,懒得去想用面向集合的查询方式实现某些功能.
同样的,在性能上,游标会吃更多的内存,减少可用的并发,占用宽带,锁定资源,香港虚拟主机,当然还有更多的代码量……
从游标对数据库的读取方式来说,不难看出游标为什么占用更多的资源,香港服务器,打个比方:
当你从ATM取钱的时候,是一次取1000效率更高呢,还是取10次100?
既然游标这么“邪恶”,为什么还要学习游标
我个人认为存在既是合理.归结来说,学习游标原因我归纳为以下2点
1.现存系统有一些游标,我们查询必须通过游标来实现
2.作为一个备用方式,当我们穷尽了while循环,子查询,临时表,表变量,自建函数或其他方式扔来无法实现某些查询的时候,使用游标实现.
T-SQL中游标的生命周期以及实现
在T-SQL中,游标的生命周期由5部分组成
1.定义一个游标在T-SQL中,定义一个游标可以是非常简单,也可以相对复杂,取决于游标的参数.而游标的参数设置取决于你对游标原理的了解程度.
游标其实可以理解成一个定义在特定数据集上的指针,我们可以控制这个指针遍历数据集,或者仅仅是指向特定的行,所以游标是定义在以Select开始的数据集上的:
T-SQL中的游标定义在MSDN中如下:
select_statement ] ]
上一篇: php和js如何获取当前页面的查询信息
推荐阅读
-
sql server关于函数中如何使用Getdate()
-
使用MS SQL7的LINKED SERVER第四篇_MySQL
-
SQL Server 2008中使用稀疏列和列集的方法(一)_MySQL
-
SQL Server 使用 OUTPUT做数据操作记录
-
使用的 SQL Server 版本不支持数据类型“datetime2”解决办法
-
Sql Server中REPLACE函数的使用
-
SQL Server客户端工具到底使用的是哪个provider呢?
-
Delphi XE 10.1 Berlin 使用FireDAC连接数据库(SQL Server, MySQL, SQLite)
-
SQL Server的通用分页存储过程 未使用游标,速度更快!
-
SQL server使用自定义函数以及游标