日期:2014-05-16  浏览次数:21248 次

下面代码效率会不会很低?如果是,有没有更好的写法?有的话请帮忙写出来,谢谢!?
下面代码效率会不会很低?
如果是,有没有更好的写法?
有的话请帮忙写出来,谢谢!?
<%
if sys<>"" and sys<>"姓名、学号、电话" then sqlsys="and (xy.xm like '%"&sys&"%' or xy.id like '%"&sys&"%' or xy.tel like '%"&sys&"%' or xy.bbtel like '%"&sys&"%' or xy.mmtel like '%"&sys&"%')"
if bjid<>"" then sqlbjid="and xy.bj1="&bjid&""
if km<>"" then sqlkm="and bj.km="&km&""
if nj<>"" then sqlnj="and bj.nj="&nj&""
if jd<>"" then sqljd="and bj.jd="&jd&""
if xqn<>"" then sqlxqn="and bj.xqn="&xqn&""
if xqj<>"" then sqlxqj="and bj.xqj="&xqj&""
if sj1<>"" then sqlsj1="and bj.sj1="&sj1&""
if bjlx<>"" then sqlbjlx="and bj.ddlx="&bjlx&""
if sdxq<>"" then sqlsdxq="and bj.ddxq="&sdxq&""
if sdjs<>"" then sqlsdjs="and bj.ddjs="&sdjs&""
if session("yonghulxid")<4 then
    if session("ckxy")=1 then
    if bzr<>"" then sqlbzr="and bj.bzr='"&bzr&"'"
    else
    sqlbzr="and bj.bzr='"&session("name")&"'"
    end if
else
if bzr<>"" then sqlbzr="and bj.bzr='"&bzr&"'"
end if
if bjzt<>"" then sqlbjzt="and bj.zt="&bjzt&""
if xyzt<>"" then sqlxyzt="and xy.zt="&xyzt&""
if qianfei="0" then sqlqianfei="having sum(xf.xf_sshj) is null or sum(xf.xf_qfje)>0"


Set rs = Server.CreateObject("ADODB.Recordset")
rs.open "select sum(xf.xf_sshj) as xf_sshj,sum(xf.xf_qfje) as xf_qfje,xy.id as id,min(xy.zt) as zt,min(xy.xm) as xm,min(xy.tel) as tel,min(xy.bbtel) as bbtel,min(xy.mmtel) as mmtel,min(xy.bj1) as bj1,min(km.mc) as kmmc from ((xy LEFT JOIN bj ON xy.bj1=bj.id) LEFT JOIN xf ON xy.id=xf.xyid) LEFT JOIN km ON bj.km=km.id where xy.mx='"&session("mx")&"' "&sqlbjid&" "&sqlkm&" "&sqlnj&" "&sqljd&" "&sqlxqn&" "&sqlxqj&" "&sqlsj1&" "&sqlbjlx&" "&sqlsdxq&" "&sqlsdjs&" "&sqlbzr&" "&sqlsys&" "&sqlxyzt&" group by xy.id "&sqlqianfei&" order by sum(xf.xf_qfje) desc,min(xy.xm) desc",conn,1,3
%>
。。。。。。循环rs
..................
。。。。。。循环rs结束

------解决方案--------------------
性能倒是无所谓的,还是远远比不上数据库IO消耗的性能多,但这种写法你不感觉很恶心不好维护吗?
------解决方案--------------------
这个一时半会没法写好,去找找合适开