一方面跟你用的数据库的接口(odbc/ado)有关,另一方面是ASP在显示数据的时候也要做相应的处理 ,这样就会使速度慢下来了

解决方案 »

  1.   

    用asp执行sql语句多出来的时间可能主要是页面显示数据的时间
    此外还有sql命令和数据在网络上传输的时间(教少)
      

  2.   

    谢谢2位回复1、数据库的接口(odbc/ado),怎样接效率能高些呢?2、关于“ASP在显示数据的时候也要做相应的处理”:我的数据库服务和web服务器是不同的机器,那么asp处理数据应该是web服务器的事,不应该影响到数据库服务器的速度啊?可是现在web服务器负荷不是很大,而数据库服务器却能到100%
      

  3.   

    1、ado 连接效率高2、优化你的select语句
      

  4.   

    同意楼上的,
    第二个问题,如果在直接在查询分析器上用同一条sql,峰值为60,而执行由web提交的在asp中写的相同的sql时明显大于60,那就是你的两台服务器间处理连接有问题,很大可能是因为你的接口有问题,还有小可能是你的网络连接不好
      

  5.   

    1. web服务器与sql服务器是否分开的? 如果不是分开的,两种服务同时进行,自然资源消耗高一些2. asp中如果只查询,不显示,是否也需要很长时间,如果不是,则考虑一下是否显示处理的问题3. 检查你的sql有没有打补丁,不打补丁也可能出现这种情况(自身经历)检查你的SQL有没有打补丁,没有的话要打上补丁,检查的方法是在查询分析器中运行:
     select @@version
     如果出来的版本号是8.00.760以下,则表明你未安装sp3的补丁,要装上.SQL补丁下载:
    全部补丁的位置
    http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=9032f608-160a-4537-a2b6-4cb265b80766
    应该安装的是
    http://download.microsoft.com/download/d/d/e/dde427eb-0296-4eac-a47c-d11a66b03816/chs_sql2ksp3.exe注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装
    如果你的操作系统是xp,那么在安装xp sp2后,不管以前是否安装过sql sp3,都要再安装一次,并且在防火墙中开启1433端口,否则无法被其他电脑访问
      

  6.   

    我觉得:
    1.asp程序本身要被服务器端解释后才将结果传递给客服端浏览器.如果ASP程序本身优化的不好,需要时间.
    2.不管是用ADO还是DAO,都需要和SQL SERVER建立连接,读取响应的数据,执行ASP,返回结果给客户端.这又需要时间.
    3.在SQL SERVER端运行的查找只是你一个用户在查询.而ASP端程序可能会有N个人在同时访问.这种机制是每个用户有自己的CONN,RS等,我不了解具体的机制,但是可能会在服务器执行的时候排执行序列,这样也会增加时间.
      

  7.   

    尽量用cammand调用存储过程而不要用rs对象,效率相差很多的
      

  8.   

    我真的要崩溃了,确实没打sp3,但是我打过后,好像cpu占用更多了?哭啊我的数据库服务器和web服务器不是一台机器,我所说的cpu的占用率,指的是数据库服务器的,不是web服务器的,也不是指客户端其实速度慢一点我可以接受和理解,但是这个cpu的占用,实在想不通。我从别的机器,使用企业管理器链接数据库服务器进行查询,速度也很快,基本和在数据库服务器本地查询差不多,感觉不出差异,在查询的时候,数据库服务器的cpu占用也很小。唯独通过web服务器的asp来查询数据,数据库服务器的cpu就会占用很大