WEB开发网
开发学院WEB开发ASP 探讨一下rs(0)和rs("fieldname")的执行效率 阅读

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

 2001-08-02 10:20:38 来源:WEB开发网   
核心提示:事实已证明了用索引数(index number)访问记录集元素要比用字段名称(field name)快出几倍.按字符串查询要比按整数查询花去更多的时间和系统资源.因此,在遍历数据库时应注意下面的两个问题:1.尽量最少使用select * 这样的语句在遍历某表里少量的字段时,探讨一下rs(0)和rs("fiel
事实已证明了用索引数(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列表的字段顺序,那么在赋值时要特别注意.

Tags:探讨 一下 rs

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接