当前位置: 首页 > 图文教程 > 网络编程 > ASP > 探讨一下rs(0)和rs(fieldname)的执行效率

ASP
收集整理的ASP的常用内置函数
高手推荐的比较有用的ASP函数集合
ASP中JavaScript处理复杂表单的生成与验证
asp下tag的实现,简单介绍与部分代码
在ASP中用组件检测当前网卡地址的代码
asp中COM组件中如何连接数据库的代码
用ASP创建MDaemon用户的代码
ASP使用FSO读取模板的代码
ASP开发中可能遇到的错误信息中文说明大全(整理收集)
添加超级用户的.asp代码[蓝屏的原创,凯文改进,Ms未公布的漏洞]
全面优化ASP应用程序的性能的方法
实现ASP程序执行时间统计类的代码
ASP中利用execute实现动态包含文件的方法
asp中向文本框输出数据原样式的函数
ADODB.Stream组件Charset属性值集合
关于ASP代码的加密的几个方法
支持权重的无组件ASP广告显示代码
ASP下实现自动采集程序及入库的代码
asp读取远程文件并保存到本地代码
为什么ASP中执行动态SQL总报错误信息?提示语句语法错误

ASP 中的 探讨一下rs(0)和rs(fieldname)的执行效率


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 188 ::
收藏到网摘: n/a

  事实已证明了用索引数(index number)访问记录集元素要比用字段名称(field name)快出几倍.按字符串查询要比按整数查询花去更多的时间和系统资源.
因此,在遍历数据库时应注意下面的两个问题:
    1.尽量最少使用select * 这样的语句
      在遍历某表里少量的字段时,select * 语句的执行效率是很低的,因为在执行这样的语句的时候其实执行了两次查询,在执行select语句前,首先必须查询系统表来确定名称和数据类型。
    2.在使用记录集rs值前,应该把它赋值给本地变量.
      这尤其适用于操作Text/Memo字段.
我发现在"read mode"下调用本地变量比从记录集中从新调用rs值要略快,特别是在多次recall recordset时,效果会更明显.
下面来看一个ASP的例子:
<%
    ' 创建数据库连接.
    set rs = conn.execute("exec sp_getRecords")
    if not rs.eof then
        do while not rs.eof

            id = rs(0) ' 把rs值赋给本地变量
            fname = rs(1)  
            lname = rs(2)  

            ' ... 使用本地变量处理工作

            rs.movenext
        loop
    end if
    ' ... 释放变量,结束连接.
%>
最后要注意:如果在SQL语句或存储过程中改变了select列表的字段顺序,那么在赋值时要特别注意.