asp 创建销毁变量对象方式哪种好
调用setrs=server.createobject("adodb.recordset")rs.opensql,conn,1,1查询.因为我一个页面里要查询几个表里的内...
调用set rs=server.createobject("adodb.recordset") rs.open sql,conn,1,1查询.因为我一个页面里要查询几个表里的内容,当然查询完一个表要关闭,但是还要不要set rs=nothing.主要是后面还会用到,比如说页面先打开用户数据表取用户名对比权限,然后从打开数据表取数据,还有往数据表存数据部分.或改数据部分.这样就要用到4次.如果每一次都创建一次销毁一次,是不是会增加服务器运算量,如果创建一次直到最后一句再销毁这个变量,那么内存中的变量岂不是释放不掉.
1.创建一个销毁一个 2.页面开始创建一个,中间直接调用,网页最后再销毁
哪一种方比较好一些哪?请说明原因 展开
1.创建一个销毁一个 2.页面开始创建一个,中间直接调用,网页最后再销毁
哪一种方比较好一些哪?请说明原因 展开
2个回答
展开全部
实际差别不是很大。
a.asp
<%
stame = timer()
set conn = server.createobject("ADODB.Connection")
conn.open "provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("chinacbf001c3.mdb")
sub test
set rs = server.createobject("ADODB.Recordset")
rs.open "select * from ad",conn,1,1
tt = rs(0)
rs.close
set rs = nothing
end sub
for i = 1 to 10000
test
next
response.write (timer()-stame) * 1000 & "毫秒."
%>
c.asp
<%
stame = timer()
set conn = server.createobject("ADODB.Connection")
conn.open "provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("chinacbf001c3.mdb")
set rs = server.createobject("ADODB.Recordset")
sub test
rs.open "select * from ad",conn,1,1
tt = rs(0)
rs.close
end sub
for i = 1 to 10000
test
next
set rs = nothing
response.write (timer()-stame) * 1000 & "毫秒."
%>
执行结果:
a.asp 14484.38毫秒.14281.25毫秒.14468.75毫秒.
c.asp 14015.63毫秒.14171.88毫秒.14046.88毫秒.
如果非要取一个高效的方法,2(页面开始创建一个,中间直接调用,网页最后再销毁)是最后的选择。
执行1万次,差距才0.3~0.4秒。平均每次差距才0.00003~0.00004秒~实际差别可以忽略不计。
如果有空间需求,欢迎和我们联系。
a.asp
<%
stame = timer()
set conn = server.createobject("ADODB.Connection")
conn.open "provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("chinacbf001c3.mdb")
sub test
set rs = server.createobject("ADODB.Recordset")
rs.open "select * from ad",conn,1,1
tt = rs(0)
rs.close
set rs = nothing
end sub
for i = 1 to 10000
test
next
response.write (timer()-stame) * 1000 & "毫秒."
%>
c.asp
<%
stame = timer()
set conn = server.createobject("ADODB.Connection")
conn.open "provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("chinacbf001c3.mdb")
set rs = server.createobject("ADODB.Recordset")
sub test
rs.open "select * from ad",conn,1,1
tt = rs(0)
rs.close
end sub
for i = 1 to 10000
test
next
set rs = nothing
response.write (timer()-stame) * 1000 & "毫秒."
%>
执行结果:
a.asp 14484.38毫秒.14281.25毫秒.14468.75毫秒.
c.asp 14015.63毫秒.14171.88毫秒.14046.88毫秒.
如果非要取一个高效的方法,2(页面开始创建一个,中间直接调用,网页最后再销毁)是最后的选择。
执行1万次,差距才0.3~0.4秒。平均每次差距才0.00003~0.00004秒~实际差别可以忽略不计。
如果有空间需求,欢迎和我们联系。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询