网页打开要好长时间,可能查询过多 时间过长 怎么解决 代码本身好像没逻辑错误,高手给个解决的办法
zq125 2011-04-25 05:16:15 网页打开要好长时间,可能查询过多 时间过长 怎么解决 代码本身好像没逻辑错误,高手给个解决的办法
rs2的查询大概执行500来次 网页就说超时了,请高手有什么优化的方法吗、 先谢谢了
if Lostmaxmin>0 then '有去掉头尾
set rs1=rsuser("SELECT DISTINCT nianji,banji,nianji & banji AS bj FROM data order by nianji,banji")
if not(rs1.bof and rs1.eof) then
kemu=split("yuwen|shuxue|yingyu|kexue|shehui|sizheng|tiyu|meishu|yinyue|diannao|zhsj|lj|yjxxx|yyky","|")
call rsuser("delete from datatemp")
set rs3=rsuser("SELECT * from datatemp")
do until rs1.eof
rs3.addnew
rs3("nianji")=rs1("nianji")
rs3("banji")=rs1("banji")
for i=1 to 14
set rs2=rsuser("select avg(" & kemu(i-1) &") from (select * from data where id not in(select top " & Lostmaxmin &" percent id from data where nianji & banji='" & rs1("bj") & "' order BY " & kemu(i-1) & ",id) and id not in(select top " & Lostmaxmin & " percent id from data where nianji & banji='" & rs1("bj") & "' order BY " & kemu(i-1) & " desc,id)) where nianji & banji='" & rs1("bj") & "'")
if isnull(rs2(0)) then '百分比过高,数据为空
rs3(2+i)=0
else
rs3(2+i)=rs2(0)
end if
rs2.close
set rs2=nothing
next
'rs3.update
rs1.movenext
loop
rs3.close
end if
rs1.close
response.End
set rs1=("select * from datatemp order by nianji,banji")
else
set rs1=rsuser("SELECT nianji,banji,avg(yuwen) ,avg(shuxue),avg(yingyu),avg(kexue) ,avg(shehui) ,avg(sizheng) ,avg(tiyu) ,avg(meishu) ,avg(yinyue) ,avg(diannao),avg(zhsj) ,avg(lj) ,avg(yjxxx) ,avg(yyky) from data group by nianji,banji")
end if