写了一个存储过程,在查询分析器中,执行大概需要4,5秒左右,查询不复杂,就Sum用得较多,Sum后写在临时表,
然后再查临时表进行加加减减,返回结果集;但在C#中执行却超慢,跟踪代码,发现在SqlDataAdapter.Fill时定了很久,
虽然我可以设超时时间长一点(目前设了两分钟),但是就奇怪,查询分析器中用4秒,为什么C#中Fill这么久呢,两分钟以上客户可受不了?请问有什么办法可解决?谢谢回复!

解决方案 »

  1.   

    优化你的SQL 语句改用SqlDataReader
      

  2.   


    用SqlDataReader快了,但还需要再测试几天看看
    因为之前那个SqlDataAdapter.Fill也是有时快有时慢,请问是什么原因呢?
    谢谢!
      

  3.   

    如果 只有你访问 数据库,那数据库只需处理 你的请求 就可以了,速度 就会很快~可如果同时访问的很多 ,就需要一个个处理,速度就会慢下来。 SqlDataAdapter.Fill 这个过程 相当于把数据库的内容 读取到内存中,如果程序所在的机器 处理的东西多 ,速度也会慢下来。