有一个存取过程 在查询分析器中执行的非常快 1秒左右
但是在程序中运行要40多秒
运行 exec sp_recompile @objname='存储过程的名字' 后速度提高到4秒左右请问 怎么把速度提到到和 查询分析器一样?
运行环境
iis6+.net2 + mssql2005PS:
1.程序中通过微软企业库对ado.net进行了一次封装
2.这个存取过程的任务是从几百万条数据中取出最近的几条数据(通过top 1000 构建了一个临时表,来解决搜索范围过大的问题)

解决方案 »

  1.   

    完全不能,查询分析器直接是sql内部操作,而ado经过多层的封装,还受制于网络环境
      

  2.   

    你的SQLSERVER里面开启监视看下运行的SQL语句实际使用了多少时间,再监视下并发连接数。还有一种可能性是资源的死锁造成的。
      

  3.   

    语句见  http://topic.csdn.net/u/20120525/13/dd593d13-6bbd-4101-93b6-21f9028570ab.html
      

  4.   

    运行 exec sp_recompile @objname='存储过程的名字' 后速度提高到4秒左右,不过随着时间的增加 也越来越慢语句见 http://topic.csdn.net/u/20120525/13/dd593d13-6bbd-4101-93b6-21f9028570ab.html 
     
     
      

  5.   

    这个不可能,ADO.NET连接是需要时间的,加上网络的问题,肯定没有查询分析器的时间快!!!