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.页面开始创建一个,中间直接调用,网页最后再销毁
哪一种方比较好一些哪?请说明原因
展开
 我来答
ASP空_间商家
2010-11-06
知道答主
回答量:14
采纳率:0%
帮助的人:0
展开全部
实际差别不是很大。

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秒~实际差别可以忽略不计。

如果有空间需求,欢迎和我们联系。
blacklong
2010-11-06 · TA获得超过1500个赞
知道大有可为答主
回答量:2745
采纳率:0%
帮助的人:1245万
展开全部
当然后者好了。
rs可以用多次的,
open,close
open,close
open,close
....
最后set rs=nothing就行了。
查询次数越多,省得时间越多。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式