编程社区 » asp编程 » 在线等,大量数据程序处理出现问题!!!

在线等,大量数据程序处理出现问题!!!


pzzyj



 发表:

在线等,大量数据程序处理出现问题!!!


<form name="myform" method="post" action="test.asp">
<tr align="center" bgcolor="#efefef">
<td width="11%" height="30">

级登录</p></td>
<td width="14%" height="30"><div align="center">
<select name="class1" onChange="changeclass2();changeclass3();changeclass4()">
<option value="请选择" selected>请选择</option>
<%
set rs=server.CreateObject("adodb.recordset")
rs.open "aaa",conn,1,3
do while not rs.eof
%>
<option value="<%=rs("aname")%>"><%=rs("aname")%></option>
<%
rs.movenext
loop
%>
</select>
</div></td>
<td width="15%"><select name="class2" id="class2" onChange="changeclass3();changeclass4()">
<option value="请选择" selected>请选择</option>
</select>
</td>
<td width="15%"><select name="class3" id="class3" onChange="changeclass4()">
<option value="请选择" selected>请选择</option>
</select>
</td>
<td width="18%"><select name="class4" id="class4">
<option value="请选择" selected>请选择</option>
</select>
<%
set rs=server.CreateObject("adodb.recordset")
rs.open "bbb",conn,1,1
num=rs.recordcount
str=""
for i=1 to rs.recordcount
str=str&rs("bname")&"-"&rs("bname")&","
if rs.eof then exit for
rs.movenext
next
rs.close
rs.open "ccc",conn,1,1
num2=rs.recordcount
str2=""
for i=1 to rs.recordcount
str2=str2&rs("cccname")&"-"&rs("cccname")&","
if rs.eof then exit for
rs.movenext
next
rs.close
rs.open "ddd",conn,1,1
num3=rs.recordcount
str3=""
for i=1 to rs.recordcount
str3=str3&rs("cccname")&"-"&rs("cccname")&","
if rs.eof then exit for
rs.movenext
next
rs.close
%>
<script LANGUAGE="javascript">
arr="<%=str%>".split(",");
a=arr.length
ar=new Array()
for (i=0;i<a;i++){
ar[i]=arr[i].split("-");
}
onecount=ar.length;
arr2="<%=str2%>".split(",");
a2=arr2.length
ar2=new Array()
for (i=0;i<a2;i++){
ar2[i]=arr2[i].split("-");
}
onecount2=ar2.length;
arr3="<%=str3%>".split(",");
a3=arr3.length
ar3=new Array()
for (i=0;i<a3;i++){
ar3[i]=arr3[i].split("-");
}
onecount3=ar3.length;
function changeclass2() {
document.myform.class2.length=0
lid=myform.class1.value;
for (i=0;i<onecount;i++) {
if (ar[i][0] == lid) {
document.myform.class2.options.add(new Option(ar[i][1], ar[i][1]));
}
}
}
function changeclass3() {
document.myform.class3.length=0
lid2=myform.class2.value;
for (i=0;i<onecount2;i++) {
if (ar2[i][0] == lid2) {
document.myform.class3.options.add(new Option(ar2[i][1], ar2[i][1]));
}
}
}
function changeclass4() {
document.myform.class4.length=0
lid3=myform.class3.value;
for (i=0;i<onecount3;i++) {
if (ar3[i][0] == lid3) {
document.myform.class4.options.add(new Option(ar3[i][1], ar3[i][1]));
}
}
}


</script>
</td>
<td width="27%" bgcolor="#efefef"><input type="submit" name="Submit" value="dddd"></td>
</tr>
</form>



说明:aaa表中有40条数据,bbb表有400条数据,ccc表有4000,ddd表有40000条数据



程序每次运行都出现超时,请大家帮我解决这个问题,如何提高运算速度!!!


springy126
回复:

up

czp98069806
回复:

在IIS中设置超时的时间长一点。。

pzzyj
回复:

IIS设置超时时间长一点也没有有啊!打开一个页面要等几十分钟那也太久了吧!

gxh7506
回复:

mark,帮顶~~~~~~~

liangjianshi
回复:

帮你up

sunshift
回复:

Server.ScriptTimeout = 999999999

springy126
回复:

可以考虑 1:使用reader类,不用recordset类; 2:优化数据库,建立index; 3:应用.net 组件
仅提意见,别拍砖

springy126
回复:

数据库中仅加载需要条数的纪录,别都放到recordset中
e.g : selet top 10 * from table where id > 100 order by id desc

pzzyj
回复:

在线等着呢,急!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

starsword
回复:

可能办法:

1、优化程序结构
2、数据库建立索引
3、在ASP中用rs("字段名").Properties("Optimize") = true来建立索引
4、用组件对瓶颈优化

一步一步解决问题嘛

pzzyj
回复:

急!!!!

wawowawoo
回复:

帮顶

taochunsong
回复:

你处理的是什么玩艺阿,说来听听,说思路
你贴这么多,谁没有时间上班时间看这么多东西啊?

senvenliu
回复:

如果想提高数据的运算速度,建议设置高速缓存,格式如下
rs.cachesize=num (num最大值多大还没查着,呵呵)
默认的高速的值为1,简单点说就是它从数据库里边是一条一条往外读的。
设置大点就.......
你可以先小调试一下,相同的页面设置的和没设置提值有很大差距的,我说的是运算时间
SQL数据库可以通过性能监视器查看

boyd1985
回复:

楼上都是高见,本人也在献策:


上面都讲到延长超时时间、优化查询之类的,都不错,这里另提出:


1、修改数据库结构:是时间类型数据就不可以用VARCHAR或CHAR之类的来做;0或1的数据极力推荐使用BIT型,如此等等,,,因为各种类型数据所占的字节数不一样,查询起来的速度也会有影响(数据量小无所谓,量大时明显有感觉)


2、合理建立索引:使用索引可以优化查询,让查询明显提速。当然索引要合理。

3、使用存储过程来写代码,网页里只需调用得到的相关数据即可。

4、如使用存储过程,另提建议:建立临时表,则数据查询、显示更为方便快捷

boyd1985
回复:

另外,程序里大量使用到函数运算,可精简代码,减少重复劳动


相关文章
简单问题啦啦啦啦啦~~~~~~
asp如何保存异地大文件
急~~登陆界面问题
能否找到或者使用免费的SMTP服务器?
帮忙看看实现如下功能
Web页面上直接打开、编辑、创建Office文档的问题
XP SP2 如何实现在局域网中共享文档,高手请进(SP2的比较烦,一直没有办法)(在线等!!!!!!!!!!)
http/1.1 503 Service Unavailable
如何用asp修改TXT中的某一段文字?
一个关于数据类型的问题
请问各位大哥这种分页效果如何做 “上5页 1.2.3.4.5... 下5页 ”,小妹有劳各位大哥了
html如何轉成pdf?
热门文章
输入地址时http://192.168.01/default.asp能正常使用,但是用http://192.168.0.1/则只能显示首页
请问如何给select控件赋值,让他指定跳到某一个值。在线等
请高手帮解密
关于asp的server.URLEncode()后如何得到utf-8的问题
如何将文件保存为UTF8格式
由于该控件目前不可见、未启用或其类型不允许,因此无法将焦点移向它。
哪位大哥大姐能详细的说说关于“WinHttp.WinHttpRequest”组件的使用啊?
如何用javascript做表单验证程序.
如何实现选择下拉菜单后在文本框中显示相应的值
ASP导入Excel数据
http/1.1 503 Service Unavailable
网页打印,如何自动去除页眉页脚!!!

编程社区 2008 浙ICP备09013498号
© TinyBBS.cn
编程好站连接:codeproject sf.net codeplex