日期:2014-05-17  浏览次数:21306 次

asp+access数据库访问速度很慢!
连接数据库文件 conn.asp-------------
<%@LANGUAGE="JAVASCRIPT"%>
<% 
//建立数据库链接对象  
conn = Server.CreateObject("ADODB.Connection");
//连接字符串
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("test.mdb");
%>
---------------------
测试文件 test.asp-------------------
<!--#include file="conn.asp"-->
<html>
<head>
<link rel="stylesheet" href="css.css" type="text/css">
<title>test</title>
</head>
<body>
<table width="100%" border="0" height="100">
<%
conn = Server.CreateObject("ADODB.Connection");
conn.open(connstr);
rs = Server.CreateObject("ADODB.Recordset");
sql="select space_id,space_name from space_info where space_chart=1 and user_id=1";
rs.Open(sql,conn,1);
%>
<tr><td height="100"><%=rs("space_name")%></td></tr>
<%
rs.close;
rs=null;
conn.close;
conn=null;
%>
</table>
</body>
</html>
---------------------
  我的网站只要操作数据库,访问速度就会变得很慢,半天打不开,有时候还会出现超时报错。asp+access,虚拟主机,已

经咨询过客服应该不是虚拟主机的问题。数据库文件很小,表中只有两三条记录。

  只要“conn.open(connstr);”一执行速度就会变慢,如果加上select速度就会更慢。客服说访问数据库时占用了很多虚

拟主机的资源。
   
  我压缩数据库了,只有几百k,另外也不是木马的原因,我的代码重新换过,数据库也换过,都不行。不知道是不是我的

连接字符串出现了问题,希望大家帮我分析分析。

  多谢啦!

------解决方案--------------------
1)建立连接 SQL操作 关闭连接
这几个点 插入代码 输出使用的时间
2)项目放在本机操作 检查下 使用的时间
基本就可以找到原因了
------解决方案--------------------
<%@LANGUAGE="JAVASCRIPT"%>

你改一下看看
<%@LANGUAGE="VBSCRIPT"%>

还有,你的数据库是不是有问题或者系统有问题,不然不会像你说的那样的
------解决方案--------------------
.
换个空间试试.


------解决方案--------------------
sql="select space_id,space_name from space_info where space_chart=1 and user_id=1"; 
没条数限定吗?最好用个TOP N条。这样会少占资源些。

但从你的数据大小应该是主机问题。
------解决方案--------------------
<%@LANGUAGE="JAVASCRIPT"%>去掉
conn页面改成
<% 
//建立数据库链接对象
conn = Server.CreateObject("ADODB.Connection"); 
//连接字符串 
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("test.mdb");
conn.open(connstr);
%>
test页面去掉
conn = Server.CreateObject("ADODB.Connection"); 
conn.open(connstr);
你创建了2次conn
还有就是<%=rs("space_name")%>
直接这样等于不报异常吗?

------解决方案--------------------
楼主这样写很有个性~~,代码不规范~
------解决方案--------------------
探讨
首先谢谢KK3K2005,我用了你的方法测试了一下,执行“conn.open(connstr); ”这句代码用了10秒,执行select查询输出用了15秒,郁闷!

------解决方案--------------------
如果正常关闭了连接!应该是空间带宽?服务器