asp 重复执行查询命令的优化问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 18:27:27
在一个ASP页面中,多次重复执行查询命令(查询条件也有变化)去查询同一个表,每次查询时,都要打开关闭,一定很影响速度吧?求各位指导一下,怎么去优化代码,请写详细一点.
我做的是一个随便抽取试题的功能,所以要不断的查询试题号,然后再显示试题.这就需要不断根据试题号来抽取试题,所以希望各位能给一个好方法.

jovenshao简直就是在胡说八道,写到文件里何必用fso?直接在dw里或记事本里编辑完了传上去不就行了?
再者,每次调用这个文件更影响速度!
最后,用什么语言跟查询数据库的速度有什么狗屁关系?
不懂装懂到极致!
回到正题来,我认为,优化代码的前提,是优化思路,理清逻辑,有时候绕来绕去才发现,原来直接就可以到达目的地。如果实在不能避免多次查询,由于执行命令太多而导致打开速度过慢的话,可以采用转静态的办法。

针对你补充的具体问题,我有一个思路,是这样的:
在试题表里添加一个字段question_order(int型或长int型)
每次打开试题表前,先更改这个字段的值:
<%Randomize
conn.execute("update question set question_order2=question_id*100*"&rnd())%>
然后,我们根据这个字段最后两位数(也可以改成3位数4位数等)的大小来排序:
<%rs.open "select top 100 * from question order by right(question_order,2)",conn,1,1
for i=1 to rs.recordcount%>
.....
<%rs.movenext
next
rs.close%>
以上代码在6万条新闻表的记录内测试成功,每次执行在P4 2.4G 512M内存 XP操作系统下时间小于1秒。

为什么一定要一直查?

你把那rs保存下来不就行了.不要关闭他.

要用就再实例化另一个rs..反正在当前页面.rs一直存在的

这是不可避免的
不过你可以把一些经常用到的用FSO写到文件里面去
每次调整用这个文件就可以了。

最好的办法:不要用ASP,用别的语言

用存储过程