标题:这段代码让CPU高达70%?
只看楼主
a190066
Rank: 4
等 级:业余侠客
威 望:2
帖 子:175
专家分:204
注 册:2010-6-24
结帖率:79.07%
已结贴  问题点数:20 回复次数:15 
这段代码让CPU高达70%?
这是一段可进行整个字段清空替换的ASP代码。这段代码让CPU高达70%?为什么?如何解决?
<%
newurl=trim(request("newurl"))
oldurl=trim(request("oldurl"))
set rs=server.createobject("adodb.recordset")
sqltext="select * from users2 where id=1 "
rs.open sqltext,conn,3,3
rs("oldurl")=trim(request("newurl"))
rs.update
rs.close
response.write "<p align=center>"
response.write "数据"
response.write oldurl
response.write "清空,默认为1从新开始:"
response.write newurl
response.write "<br><br>"

set rs=server.createobject("adodb.recordset")
sqltext="select * from users2 order by id "
rs.open sqltext,conn,3,3

do while not rs.eof
rs("question3")=Replace(rs("question3"),oldurl,newurl)
rs.update
Rs.moveNext
loop
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
response.redirect "index.asp"
%>
搜索更多相关主题的帖子: where 
2011-01-15 15:37
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:3 
select * from users2 order by id
数据量太大的缘故...?

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2011-01-15 16:07
wangjy500
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:13
帖 子:457
专家分:2569
注 册:2010-7-11
得分:3 
程序代码:
do while not rs.eof
rs("question3")=Replace(rs("question3"),oldurl,newurl)
rs.update
Rs.moveNext
loop
rs.update
rs.close
rs.update
这句为什么用了两次?

QQ:63572063
2011-01-15 17:12
a190066
Rank: 4
等 级:业余侠客
威 望:2
帖 子:175
专家分:204
注 册:2010-6-24
得分:0 
回复 2楼 wangnannan
表里只有200个ID数据,数据引起CUP超70%。除了强行结束进程,请问有什么办法解决?
2011-01-15 17:33
mdjpp
Rank: 2
等 级:论坛游民
帖 子:6
专家分:13
注 册:2011-1-17
得分:3 
set rs=server.createobject("adodb.recordset")
sqltext="select * from users2 order by id "
rs.open sqltext,conn,3,3

do while not rs.eof
rs("question3")=Replace(rs("question3"),oldurl,newurl)
rs.update
Rs.moveNext
loop
rs.update    '多余
rs.close
set rs=nothing
conn.close
set conn=nothing
response.redirect "index.asp"

[url=http://www.]中国新闻网[/url]
DIS代码不好用 - -||
2011-01-17 11:01
ithinkofyou
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2011-1-17
得分:3 
不懂
2011-01-17 15:17
a190066
Rank: 4
等 级:业余侠客
威 望:2
帖 子:175
专家分:204
注 册:2010-6-24
得分:0 
回复 5楼 mdjpp
把“rs.update ”去掉一样,当执行如下代码时,CUP立即占50-70%以上。就算关闭了ASP的调试工具也不会自动降下来,非要人工强行结束进程。否则电脑会慢吞吞的。
把sqltext="select * from users2 order by id "
修改为
sqltext="select * from users2 where 字段='1' order by id "
问题还不能解决,还试过用其它的ASP调试工具。如亚度(Aws.exe)、NetBox一样不行,怎么办呢?
2011-01-18 03:23
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
得分:3 
一段一段代码来测试吧,另外最好知道数据的处理量。
可以循环中加入一个记数器,记录到底执行了几次。

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2011-01-18 08:05
魏兴耀
Rank: 8Rank: 8
来 自:江西
等 级:蝙蝠侠
威 望:3
帖 子:246
专家分:840
注 册:2009-11-9
得分:3 
估计还是SQL的数据量太大

只有大胆尝试,才有机会得到想要的成功
2011-01-18 09:41
a190066
Rank: 4
等 级:业余侠客
威 望:2
帖 子:175
专家分:204
注 册:2010-6-24
得分:0 
是数据运行完了后出现这cup超50%。此时,数据库不能删除,也不能进行压缩,不能进行备份。提示:Aadmin以排它方式打开。运行以上的代码,cup超50%。此时还可进行清除另一个表的字段的内容,清多几次后cup超80%了!不理它等一个小时不会自动降下来。最后还是要强行结束进程。
2011-01-21 04:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-331124-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013859 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved