标题:查询最优化的问题?大家帮忙谈谈看法吧
只看楼主
yzwt2004
Rank: 1
等 级:新手上路
帖 子:472
专家分:0
注 册:2006-1-18
 问题点数:0 回复次数:4 
查询最优化的问题?大家帮忙谈谈看法吧

用的是: Access数据库
表中有三字段

ID 主键(自动编号)
dj 数字型
nid 数字型

我现在要查询: 当nid等于提交的数值(request("nid")),显示出dj的值

set rs=server.CreateObject("adodb.recordset")
sql="select dj from Subv where nid="&request("nid")
rs.open sql,conn,1,1
response.write(rs("dj"))
rs.close

有没有比这个更优化更快的方法? 比如:把nid这个字段搞成索引等,我不太清楚,

搜索更多相关主题的帖子: 看法 最优化 查询 
2007-01-22 22:16
rainic
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2367
专家分:0
注 册:2005-8-9
得分:0 
加索引理论是会快些,不过感觉不到,觉得都好快

rs.open sql,conn,0,1 '改成这样是最快的,不过也是感觉不到的

2007-01-22 22:22
做人很低调
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:1268
专家分:0
注 册:2006-8-2
得分:0 

LZ你要是只是要做对数据表查询的话
可以这样写

Dim Rs
Set Rs = Conn.ExeCute("Select Dj From Subv Where Nid="&Request("Nid"))
Response.Write(Rs("Dj"))
Rs.Close

还有要提的就是 最好要把Request后边的集合加上
虽然写成Request可以同时获取到Post和Get方式传递的值 还有Cookies中的值
但不是没办法了的话 就最好要把Request后边的3个集合加上
要是不加上的话 Request获取参数值的时候会在Form,QueryString,Cookies这3个集合中一个一个找
匹配的集合来获取参数,不是最优化,好象说多了 呵呵


其实我很低调,只是你不知道...
2007-01-22 22:33
rainic
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2367
专家分:0
注 册:2005-8-9
得分:0 
对~~!Request那里还是分细点好

另外:rs.open sql,conn,0,1 == Set Rs = Conn.ExeCute(sql)

2007-01-22 22:45
yiyu2004
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2005-9-13
得分:0 
以下是引用rainic在2007-1-22 22:45:00的发言:
对~~!Request那里还是分细点好

另外:rs.open sql,conn,0,1 == Set Rs = Conn.ExeCute(sql)

嗯,二位说的接受,哈哈,都有道理,

rainic

rs.open sql,conn,0,1 == Set Rs = Conn.ExeCute(sql)

这个什么意思??让我改成这样??


2007-01-23 10:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-117581-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.059691 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved