SQLServer遍历表----慎用游标
来源:互联网 发布:淘宝直通车任务怎么做 编辑:程序博客网 时间:2024/06/18 15:06
在编写存储过程的时候,通常都会碰到需要遍历表的情况,这个是时候最好选择临时表的方法,而不是使用游标,如果数据量很大,慎用游标.
现在有一个名为POI的表,里面大概存储有250万的POI记录.
使用游标遍历的存储过程代码如下:
declare myCursor cursor for select MESHID,POIID from POIopen myCursordeclare @MESHID nvarchar(50)declare @POIID nvarchar(50)fetch next from myCursor into @MESHID,@POIIDwhile(@@FETCH_STATUS=0)begin ------------------------------------------- --do something you like------------------- -------------------------------------------fetch next from myCursor into @MESHID,@POIIDendclose myCursordeallocate myCursor
执行存储过程,总计花费2分13秒
使用临时表的存储过程代码如下:
create table tmpTable(nID bigint primary key identity(1,1),MESHID nvarchar(50),POIID nvarchar(50))insert into tmpTable(MESHID,POIID) select MESHID,POIID from POIdeclare @totalCount intselect @totalCount=COUNT(*) from tmpTabledeclare @index intset @index =1 declare @MESHID nvarchar(50)declare @POIID nvarchar(50)while(@index<=@totalCount)beginselect @MESHID=MESHID,@POIID=POIID from tmpTable where nID=@index ------------------------------------------- --do something you like------------------- -------------------------------------------set @index=@index+1enddrop table tmpTable
执行存储过程,总计花费53秒.
- SQLServer遍历表----慎用游标
- 游标遍历表
- SQLServer存储过程简单实例 变量赋值 游标遍历
- SQLserver--游标
- sqlserver游标
- SQLServer游标
- SQLSERVER 游标
- 游标和表变量遍历结果集
- sqlserver存储过程中利用游标遍历结果集简单示例及查询数据库时间
- sqlserver游标的使用
- sqlserver 游标全面解说
- sqlserver游标体验
- sqlserver 游标全面解说
- SqlServer游标示例
- SqlServer 游标例子
- SqlServer游标理解
- sqlserver游标使用
- Sqlserver 游标 慢
- 自己收集整理的关于 判断 网页是否加载完毕的方法(特别是多框架Frame),然后获取网页源码
- sizeof和strlen比较
- 论坛项目中的学习
- enable_irq_wake
- 一个简单的读写同步的空间解决方法
- SQLServer遍历表----慎用游标
- OCP-1Z0-053-V12.02-441题
- VC6.0 ClassView 中某些类不显示的解决方案
- 迪西客OA——国内第一款微博式OA
- 高人对libsvm的经典总结(全面至极)
- 不再饥饿营销 苹果公司一改中国内地销售策略
- 经典数字转换成大写金额函数 (测试可用)
- 谈谈开发管理信息系统遇到问题、挑战与麻烦
- OCP 052 -PLSQL