常州网络公司首页 >>> WEB编程 >> ASP

关于ASP保存数据的简单优化操作

发布时间:2009-12-21 19:40:19   浏览次数:5968

今天有一以前的客户发信息说,他有写了个代码,在大量数据更新时会出现超时现象。我说,直接用个scripttimeout=500,这样就可以了,他说不行,加了后,还是会出现超时。

我心想,难道数据很大,不过还是新让把代码发过来看看了。

文件发过来我一看。其他也没有什么不正常的,唯一一个就是保存代码。

保存代码如下:

 set rs=server.CreateObject("adodb.recordset")
 sql="select * from tableName"
 rs.open sql,conn,1,3
 rs.addnew
 rs("username")=username
 rs("password")=md5(password)
 rs("name")=name
 rs("address")=address
 rs("tel")=tel
 rs.update
 rs.close
 set rs=nothing

大家看了这代码好像也没有什么问题,再仔细看看这句:sql="select * from tableName"

这句就是每添加一条,都会把表里的数据全部调一次,如果一次新添加多条记录,那你这个表里的记录,就要被调出多次,再加上要是表里的数据多的话,呵呵,,,你再好的服务器我看也吃不销。

修改后的代码:

 set rs=server.CreateObject("adodb.recordset")
 sql="select * from tableName where id=0"
 rs.open sql,conn,1,3
 rs.addnew
 rs("username")=username
 rs("password")=md5(password)
 rs("name")=name
 rs("address")=address
 rs("tel")=tel
 rs.update
 rs.close
 set rs=nothing

看到的这一句: sql="select * from tableName where id=0",这样,在新添加记录,等于0的这条记录不存在,所以每次添加新的记录时,都不会调表中的任何数据。


修改后给他的代码,运行后,速度明显快很多。

上一条:"对象关闭时,不允许操作。"ASP调用SQL存储过程出现这样的错误
下一条:jmail发送邮件收不到的解决办法
首页 | 在线留言 | 网站地图

CopyRight ©2008-2014   糊涂蛋技术网    苏ICP备05013073号
站长:万创   QQ:54960248  E-mail:xlxcn#126.com