asp+sql大数据循环问题

yyltty 2010-12-23 03:02:06
现有一个5万条数据的sql本地库,想从一个网上的ORACLE数据库中更新本地SQL库,
strsql1="select * from 本地数据库"
set rs1=server.createobject("adodb.recordset")
rs1.open strsql1,connA,1,1


do while not (rs1.eof or rs1.bof)
set rs2 = server.createobject("adodb.recordset")

strsql2="SELECT * FROM 网络数据库 where aac001='"&rs1("aac001")&"'"
rs2.open strsql2,conn,1,1

connA.execute("update 本人数据库 set aac002='"&rs2("aac002")&"',akc020='"&rs2("akc020")&"' where aac001='"&rs2("aac001") &"' ")

rs1.movenext
rs2.close
set rs2=nothing
loop
response.Write "<script language='javascript'>alert('更新成功!');window.location.href='qbgx.asp';</script>"

数据量小时可以更新,但数据大的时候调整asp超时脚本时间也不太好用,请问有什么方法能更新大量数据并时间短一点?
...全文
98 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyf3911 2010-12-30
  • 打赏
  • 举报
回复
yyltty 2010-12-30
  • 打赏
  • 举报
回复
好像用编程的方法都不是太好,有没有用SQL与ORACLE同步的方法
哈哈鬼 2010-12-29
  • 打赏
  • 举报
回复
可以将 update 语句存入数组,然后统一执行,这样效率会快些。但是不要太多。否则很耗内存。
刹那坤 2010-12-28
  • 打赏
  • 举报
回复
鄙视用繁体的 NND ^_^
getserved 2010-12-24
  • 打赏
  • 举报
回复
想純代碼解決呢就用循環做分片,每100條為一片,不斷SESSION一條一條更新,不要做任何輸出,每1W條可以清除SESSION重連,當然5W條數據沒多少也可以不做,字段名請直接寫進去不要讓SQL幫你建,很費時間,循環變量儘量用整形不要用字符串
十一文 2010-12-24
  • 打赏
  • 举报
回复
SELECT 不要用selelct *
写出所有要用的字段

第二
建立好索引

update时候索引时很耗资源的
可以吸纳不哟个索引

5w条数据的数据库不大的

楼主可能是网络不好的原因



给楼主一个方式
这样一次只同步一条数据这样就不会超时了
叫我梁大侠 2010-12-24
  • 打赏
  • 举报
回复
按我现在的水平 只能想到这个吧
试着去找找asp代码优化
yyltty 2010-12-24
  • 打赏
  • 举报
回复
这样虽然少开几个字段,但是5万多条数据速度仍然不是很快的。有没有什么优化代码?请教了
叫我梁大侠 2010-12-23
  • 打赏
  • 举报
回复
strsql2="SELECT * FROM 网络数据库 where aac001='"&rs1("aac001")&"'"
这句 换成
strsql2="SELECT aac001,aac002,akc020 FROM 网络数据库 where aac001='"&rs1("aac001")&"'"

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧