ASP循环 运行很慢如何解决?

<%noid=noid+1rs.movenextifrs.eofthenexitfornext'时间筛选in_s_total=0out_s_total=0rate_t_t... <%
noid=noid+1
rs.movenext
if rs.eof then exit for
next
'时间筛选
in_s_total=0
out_s_total=0
rate_t_total=0
total_money_total=0
sql="select * from 产品目录表 "&sql_tmp&" order by id desc"
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,1,1
do while not rs.eof

in_j=0
in_s=0
out_j=0
out_s=0
rate_t=0
sql1="select * from 仓库 where 产品="&rs("id")&" and 审核='已审核'"
set rs1=server.CreateObject("adodb.recordset")
rs1.open sql1,conn,1,1
do while not rs1.eof
if DateDiff("d",rs1("时间"),FormatDateTime(search_times1,2))<=0 and DateDiff("d",rs1("时间"),FormatDateTime(search_times2,2))>=0 then'这个时间段的出入库情况
if rs1("状态")="入库" then
in_s=in_s+rs1("入库数量")
in_j=in_j+rs1("入库数量")*rs1("入库价格")'入库总价格
end if
if rs1("状态")="出库" then
out_s=out_s+rs1("出库数量")
out_j=out_j+rs1("出库数量")*rs1("出库价格")'出库总价格
end if
end if'时间筛选结束
rs1.movenext
loop
rs1.close
set rs1=nothing
if in_s>0 then in_j=in_j/in_s'求出平均价
if out_s>0 then out_j=out_j/out_s
rate_t=out_s*(out_j-in_j)'平均总利润
total_money=out_s*out_j

in_s_total=in_s_total+in_s
out_s_total=out_s_total+out_s
rate_t_total=rate_t_total+rate_t
total_money_total=total_money_total+total_money

rs.movenext
loop
%>
这里贴不了过多的代码,请移步到http://maibar.com.cn/2010/0414/code.txt查看,谢谢辛苦了,小弟很着急用呢.
循环是否死机?每次都需要20秒左右才能打开.请高手看看是否哪里错了,或者可以如何优化一下改善呢?
展开
 我来答
ccppv
2010-04-23 · TA获得超过2994个赞
知道大有可为答主
回答量:5074
采纳率:40%
帮助的人:2995万
展开全部
你这里计算蛮多.呵呵..可以在SQL语句中就读出来呀..

或者你在添加的时候就把这些计算算出来.呵呵..不过这样的话数据库设计起来不怎么好.

严格来说你这里不会出现打开速度慢的问题.如果慢.检查一下你是否有死循环.还有就是你最好是做一个分页.这样少读几条出来.速度肯定会快一点..
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式