我搞得大数据量处理程序(几千万数据同时处理不会超时)

本文介绍了一个无需循环即可处理大规模数据库批量替换内容的程序。该程序通过直接查询并更新数据库记录的方式,实现了对过万条数据的高效处理。具体实现包括数据库连接配置、数据处理逻辑等。

该程序是针对非常庞大的数据库开发的,没有用循环
用途:
      对过万条数据的数据库字段内容批量替换
代码:
<%
'//数据库连接
     Dim BeeYee_DbName,Connstr,Conn,intSn1
     Dim Content,Num,intSn,intIdNo,strCodea,strCodec,Rs,strSql
     Server.ScriptTimeOut = 800
     BeeYee_DbName="transfer"          '修改此处为你的SQL Server 数据库名称
     YourServer = "seven"        '修改此处为你的Sql Server数据库地址
     YourUid   = "sa"                    '修改此处为你的数据库用户名
     YourPassword = "123"            '修改此处为你的数据库密码     
     Connstr = "Driver={SQL Server};Server="&YourServer&";Uid="&YourUid&";Pwd="&YourPassword&";Database="&BeeYee_DbName
     Set Conn=Server.CreateObject("ADODB.CONNECTION")
     On Error Resume Next
     Conn.Open Connstr
     If Err<>0 Then
         err.Clear
         Set Conn = Nothing
         Response.Write "<div align=center><br><br><br>连接SqlServer数据库出错,请检查相关设置……</div>"
         Response.End    
     End If
'//数据处理部分

     intSn = Request("Sn")
     intIdNo = Request("IdNo")
     If intSn = "" Or Not isNumeric(intSn) Then
         intSn = 0
         intSn1 = 0
     Else
         intSn = CLng(intSn)
         intSn1 = intSn
     End If
     If intIdNo = "" Or Not isNumeric(intIdNo) Then
         intIdNo = 0
     Else
         intIdNo = CLng(intIdNo)
     End If
     strCodea="/newe"                                     '//需要查询是否包含的字符串
     strCodeb="/news"                 '//替换字符串
     strSql = "Select Top 1 Id,Content,Uptime From News where id>"&intIdNo&" And siteid=1 order by id"
     Set Rs = Server.CreateObject("adodb.recordset")
     Rs.Open strSql,conn,1,3
     If not(rs.eof oR rs.bof) then
         Content = Rs("content")
         Num = instr(content,strCodea)
         If Num>0 then            
             Content=Replace(content,strCodea,strCodeb)    
             Rs("Content") = Content
             Rs("Uptime") = now()
             Rs.Update
             intSn = intSn + 1
         End If
         intIdNo = Rs("Id")
         Rs.Close
         Set Rs = Nothing
         Response.Write("<br><br><br><Div align=center>正在转换第<font color=red>"&intSn&"</font>条新闻....</Div>")
         If intSn = intSn1 Then Response.Write("<br><br><br><Div align=center>新闻中没有要转换的东西,程序继续转换下一篇</Div>")
         Response.write("<meta http-equiv=""refresh"" content=""0;url=?Sn="&intSn&"&IdNo="&intIdNo&""">")
     Else
         Response.write("<br><br><br><Div align=center>转换完毕!!共转换<font color=red>"&intSn&"</font>条新闻.</Div>")
         Rs.Close
         Set Rs = Nothing
         Response.End()
     End If
    
%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值