网络编程
位置:首页>> 网络编程>> Asp编程>> 如何高效地访问记录集?

如何高效地访问记录集?

 来源:asp之家 发布时间:2009-11-22 19:25:00 

标签:效率,asp,数据库,sql

最近,随着数据库的日益庞大,本来两个差不多的数据库,我开始发现我的数据库查询起来越来越比我朋友网站的慢了,经过初步对照,问题好像出在访问记录集的方法上,这是真正的原因吗?

在遍历数据库时,事实表明,用索引数(index number)访问记录集元素要比用字段名称(field name)访问快出几倍,按字符串查询要比按整数查询花去更多的时间和系统资源。我想这是你的网站慢的主要原因吧。

因此,在遍历数据库时应注意下面两个问题:

1、尽量最少用select * 这样的语句。在遍历表里少量的字段时,select * 语句的执行效率是很低的,因为它在执行时,其实是执行了两次查询,在执行select语句前,首先必须查询系统表来确定名称和数据类型。

2、在使用记录集rs值前,应该把它赋值给本地变量,尤其是操作Text/Memo字段时。在“read mode”下调用本地变量比从记录集中重新调用rs值要快一些,特别是在多次recall recordset的场合,快的效果更明显。

但要注意,如果在SQL语句或存储过程中改变了select列表的字段顺序,那么就要小心你的赋值。看看下面这个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 
     ' ... 释放变量,结束连接. 
    %>


 

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com