注册 登录
编程论坛 ASP技术论坛

如何优化这样的数据库查询代码。。。。

ysf0181 发布于 2010-04-16 19:29, 373 次点击
  <%
  

  rs.open"select * from person where  fenlei=2 order by name asc",conn,1,1
 
  if rs.eof then
  %>
  <tr>
    <td colspan="11">暂时没学员!</td>
  </tr>
  <tr>
  <%else%>
  <%
  b=0
  bb=0
  'bb=1234567890
 ' 'bb1=mid(bb,5,2)
  'response.write bhz
 ' response.end
  do while not rs.eof
         
           rs1.open"select * from jiaoyuanclass where xueyuan='"&rs("name")&"'",conn,1,1
             aa = 0
            do while not rs1.eof
            
              if rs1("leixing") = "在学校" then
                 aa=aa+1
             end if
             if  rs1("leixing")="上门" then
                 aa=aa+1
             end if
            rs1.movenext
            loop
            rs1.close
              if aa >= 15 and aa < 20  then
                 b = b + 1
                 bb= bb + 1
                %>
                 <td width="25"><font color=blue><%=aa%></font>
                 <input name="name1" type="submit"  value="<%=rs("name")%>"></td>     
              <%
            
              end if     
               if aa >= 20  then
                  b = b + 1
                  bb= bb + 1
                %>
                 <td width="25"><font color=red><%=aa%></font>
                 <input name="name1" type="submit"  value="<%=rs("name")%>"></td>     
              <%
              end if

    if b=10 then
      if b=10 then
          b=0
       end if %></tr><tr>
    <%end if
            aa = 0  '设置 bhz 为空,为下次的 对 bhz 判断做准备
  rs.movenext
  loop
    end if
  
  call rsclose()
  call rs1close()
  call connclose()
  %>

执行该页面 CPU会 100%的。有没有办法优化呢???谢谢。
3 回复
#2
cnfarer2010-04-16 21:41
其实完全不必使用这样循环,一条SQL语句完全可以实现以上的统计功能!
#3
ysf01812010-04-17 10:18
       版主,你能帮忙写看看吗?谢谢,我对SQL语句不懂。
#4
ysf01812010-04-17 19:57
没人懂吗?
1