DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: david666
今日帖子: 39
在线用户: 12
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
女 dfw@116774 (sandraphh) ★☆☆☆☆ -
普通会员
2004/1/8 10:39:19
标题:
SQL Servre处理大量数据的问题。 浏览:1539
加入我的收藏
楼主: 我有一个weather表,有Myyewar,YyMonth,Myday,Mydate字段。要实现按照Myyewar,YyMonth,Myday生成Mydate字段,然后我写了SQL语句如下: 

declare @mydate datetime
declare @myear varchar(4)
declare @mmonth varchar(2)
declare @mday varchar(2)
declare @mid int
declare @str varchar(10)
  declare mycursor cursor for select MyYear,MyMonth,MyDay,id from weather

  open mycursor 
  fetch next from  mycursor into @myear,@mmonth,@mday,@mid
  while @@fetch_status = 0 
  begin
    set @str = @myear + '-' + @mmonth + '-' + @mday
    set @mydate = convert(datetime, @str)
    update weather set Mydate = @mydate where id = @mid
    fetch next from  mycursor into @myear,@mmonth,@mday,@mid
  end  
  close mycursor 
  deallocate mycursor
运行了好几个小时,有些转换成功了,有些没有。速度太慢,请问有人知道为什么吗?是SQLServer的问题吗?
----------------------------------------------
-
作者:
男 zsredmoon (=^@^=) ★☆☆☆☆ -
盒子活跃会员
2004/1/8 10:48:52
1楼: 数据量大么?
----------------------------------------------
按此在新窗口浏览图片
=^@^=
作者:
女 dfw@116774 (sandraphh) ★☆☆☆☆ -
普通会员
2004/1/9 15:51:02
2楼: 数据量不小,310万条记录。以上那段代码没有问题,在200条数据下调试成功,但10000条数据就运行很长时间。我试了一下,基本update语句运行10000次,大概40多秒,照理不该运行很长时间啊。
----------------------------------------------
-
作者:
男 cjrb (Thinking In 魂) ★☆☆☆☆ -
盒子活跃会员
2004/1/9 16:34:56
3楼: 干嘛用游标,直接更新不就好了。

----------------------------------------------
按此在新窗口浏览图片 充电..........
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行70.3125毫秒 RSS