我做了一个程序,数据库是SQL Server的,在调用存储过程(大数据量)时出现这样的问题:客户端(配置比较低)运行一窗体并调用存储过程,此时在服务器端开始运行,并可得到结果;如果在此窗体内多次重复调用过程,可以知道服务器端有在工作,但在客户端要长时间才可以调出处理过后的数据,甚到无法响应死机。
  想问的是:如何避免这样的情况出现(除了把机器配置高一点外)?如果现无法响应的话,会与网络通讯有关呢?

解决方案 »

  1.   

    优化数据库。
    注意结构、主键、索引的引用,同时要注意SQL语句的高效性。
      

  2.   

    1.把存储过程的Prepared设为True
    2.存储过程中对不需要的数据通过传递参数的方式进行筛选
    3.对该存储过程的执行效率进行分析,用查询分析器的查询菜单下的显示执行计划,对消耗资源最多的查询进行处理,如加索引等,特别要注意关联查询时的效率问题,不同的查询效率的差别很大.
    4.简单的方法也可以使用查询分析器的索引优化向导.