通过存储过程实现记录集的循环 SqlServer2000
来源:互联网 发布:ds video for mac 编辑:程序博客网 时间:2024/06/07 06:27
最近需要对数量比较大的数据进行处理;自然少不了记录集循环的操作,在参考了网上的资料以后总结如下。
当需要对很多的记录进行操作的时候,采用脚本语言(例如asp or asp.net)进行操作时。如果数据量少可能看不出用上面这种办法实现的弱点,因为它每次在操作数据库的时候,都存在着频繁的和数据库的I/O直接交互,这点性能的牺牲实属不应该,那我们就看下面的方法,通过存储过程的游标方法来实现:
建立存储过程(来自网络)
使用游标对记录集循环进行处理的时候一般操作如以下几个步骤:
1、把记录集传给游标;
2、打开游标
3、开始循环
4、从游标中取值
5、检查那一行被返回
6、处理
7、关闭循环
8、关闭游标
上面这种方法在性能上面无疑已经是提高很多了,但我们也想到,在存储过程编写的时候,有时候我们尽量少的避免使用游标来进行操作,所以我们还可以对上面的存储过程进行改造,使用下面的方法来实现:
我们现在再来分析以上这个存储过程,它实现的方法是先把满足条件的记录集数据存放到一个表变量中,并且在这个表变量中增加一个FLAGID进行数据初始值为0的存放,然后去循环这个记录集,每循环一次,就把对应的FLAGID的值改成1,然后再根据循环来查找满足条件等于0的情况,可以看到,每循环一次,处理的记录集就会少一次,然后循环的往选好课程表里面插入,直到记录集的条数为0时停止循环,此时完成操作。
比较以上的几种循环方法的应用,就会知道,有时候可能对于同一种功能我们实现的方法不同,而最终应用程序性能的影响的差异就会很大,第二种、第三种就大大的减少的数据库交互I/O操作的频繁,会节省很多时间,方法三又避免用游标又可以节省不必要的开销。
- 通过存储过程实现记录集的循环 SqlServer2000
- 如何通过存储过程实现记录集的循环
- 通过存储过程实现记录集的循环
- 如何通过存储过程实现记录集的循环
- 通过存储过程实现记录集的循环
- 利用存储过程实现记录集循环
- 分页的存储过程(SQLSERVER2000)
- sqlserver2000 简单的存储过程
- SQLServer2012通过链接服务器执行SQLServer2000的存储过程的问题
- 一个通过Oracle8i存储过程,返回记录集的程序包(存储过程)
- 一个通过Oracle8i存储过程,返回记录集的程序包(存储过程)
- 一个通过Oracle8i存储过程返回记录集的程序包(存储过程)
- SqlServer2000 调用Http接口的存储过程
- SQLServer2000存储过程中通过数据库链接操作Oracle数据库
- sqlserver2000 通过vpn 调用远程存储过程 高级问题
- sqlserver2000分页存储过程
- SQLSERVER2000存储过程 ,序列
- Sqlserver2000存储过程初探
- C/C++数组名与指针区别深入探索
- 我爱你一生一世
- MyEclipse SVN插件
- win7声卡驱动不能安装(安装失败)解决方案
- Javascript中最常用的55个经典技巧
- 通过存储过程实现记录集的循环 SqlServer2000
- 开源测试框架White
- WIN7设置管理员权限的方法
- 什么是页面文件使用率
- 接受右上角关闭命令——OnSysCommand!
- rownum 的用法 要用select嵌套才可以的
- linux 解压与打包
- javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter,
- ARM、DSP、FPGA的特点和区别