有一个问题,多报表使用一个存储过程对数据库是否会造成性能上的风险?
--  性能上应该没有影响,每个报表都是单独的调用和查询的,
因为每个报表查询条件都不同,会不会导致额外的开销。 
--  如果查询条件不同,可能就会生成不同的执行计划,但是相同的查询条件只有一个执行计划,所以在这个意义上,只有第一次访问的那个用户才会增加系统开销,后面的都是读的报表的临时数据库的缓存数据.
还有,针对每个报表开发一个存储过程会不会性能更好呢?? 
--差不多吧.每个报表做一个的话,会增加你的开发量和维护量求大侠解答,并说明机理。 非常感谢!!

解决方案 »

  1.   

    与存储过程无关,与计算机性能有关.原则上肯定会影响查询,更新,生成报表的速度.
      

  2.   

    肯定是有点影响的,存储过程的处理逻辑越复杂,速度方便当然就越慢
      

  3.   

    与存储过程无关, 存储过程负责去拿数据而已, 所以有关的是各个报表并发访问相关的表是消耗的服务器资源
      

  4.   

    “如果查询条件不同,可能就会生成不同的执行计划,但是相同的查询条件只有一个执行计划,所以在这个意义上,只有第一次访问的那个用户才会增加系统开销,后面的都是读的报表的临时数据库的缓存数据. ”实际上大部分其他用户的查询条件是不一样的,这样是否会有影响?
    我主要想知道:从性能方面,一个报表一个存储过程是否会比多个报表调用同一个存储过程好。 (存储过程本身实现基本一致。) 不知道是否会存在锁定之类的事情。。最好有具体细节。非常感谢!
      

  5.   

    我主要想知道:从性能方面,一个报表一个存储过程是否会比多个报表调用同一个存储过程好。 (存储过程本身实现基本一致。) 
    支持一个proc
    性能方面没什么影响吧
    维护起来是很方便