加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

ASP抽取数据的执行速度

发布时间:2023-09-23 10:45:22 所属栏目:Asp教程 来源:
导读:通常从数据库中抽取数据记录,需要使用到SQL语句,查询获得相关记录集,然后从记录集中选择相关字段、相关记录行进行显示。

那么在抽取到显示的一系列列过程中,如果注意如下几个要点,那么就可以大幅提高提取数据
通常从数据库中抽取数据记录,需要使用到SQL语句,查询获得相关记录集,然后从记录集中选择相关字段、相关记录行进行显示。

那么在抽取到显示的一系列列过程中,如果注意如下几个要点,那么就可以大幅提高提取数据的运行速度。

1,明确抽取的字段名称

正常的SQL语句抽取记录是:
Select * from [data_table]
即从数据表data_table中抽取所有字段的记录值。

select * 语句的执行效率是很低的,因为在执行这样的语句的时候其实执行了两次查询,在执行select语句前,首先必须查询系统表来确定名称和数据类型。

所以尽量最少使用select *语句,而使用明确的字段名称,如:
Select cn_name,cn_pwd from [data_table]
2,使用rs(0)比rs(filename)更快
Set rs=conn.Execute("Select cn_name,cn_pwd from [data_table]")
记录集rs()里面可以写字段名(字符型),或者字段索引号(数字),它代表字段列表中第几个字段。比如: 
rs(0)就表示rs("cn_name")
rs(1)表示rs("cn_pwd")

事实已证明了用索引数(index number)访问记录集元素要比用字段名称(field name)快出几倍。按字符串查询要比按整数查询花去更多的时间和系统资源。

3,使用记录集rs值前,将其赋值给变量
<% 
Set rs=conn.Execute("Select cn_name,cn_pwd from [data_table] where cn_id=1")
if not rs.eof then 
do while not rs.eof 
cn_name = rs(0) ' 把rs值赋给变量 
cn_pwd = rs(1) 
' ... 使用变量处理工作 
rs.movenext 
loop 
end if 
rs.close 
Set rs = Nothing
%>

 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章