蓝森林首页 | 返回主页 | 本站地图 | 站内搜索 | 联系信箱 |
 您目前的位置:首页 > 自由软件 > 技术交流 > 应用编程


    

蓝森林 http://www.lslnet.com 2006年8月25日 8:28

[ASP]关于查询速度问题?

一个表有1万条记录,需要查找并读出其中一条记录(根据ID)
问题:
1、用SQL的方法查找和用Recordset对象的Find方法那个更快?(查找同样字段)
速度是不是取决于查找多少个字段数呢?(SQL语句可以控制要查找的字段而Find方法却不可以)
[code]
例:
Dim objRs, strSql
Set objRs = Server.CreateObject("ADODB.Recordset")
'用SQL语句方法
strSql = "SELECT * FROM [user] WHERE [id] =" & Request.Form("id")
objRs.Open strSql,objConn,1,1

'用Find方法
objRs.Open "[user]",objConn,1,1
objRs.Find = "[id]=" & Request.Form("id") &""

这两种方法同样可以查到要的内容,在字段多和记录多的情况下那个速度更快?
[/code]

2、在某些情况下如果用Filter属性过滤掉不需要的内容再用用Find方法查找内容的话速度会不会比SQL的方法快?

1.按需取数据,也就是说你需要显示的数据用到哪几个字段就SELECT哪几个字段。
2.速度快不快,最简单的测试在代码前后加上Timer()函数,减一减就知道了

我是加了Timer()减了,可不知这个时间到底准不准,每次重启后第一次运行速度很慢几千毫秒吧(电脑很烂),以后再运行就都几十毫秒了,而且用那种不管数据库中有多少字段和记录时间都是一样的了(只有很小的变化)




Copyright © 1999-2000 LSLNET.COM. All rights reserved. 蓝森林网站 版权所有。 E-mail : webmaster@lslnet.com