应该放在一台上,以下几点原因 :
1,本身来说,数据表的大小对访问速度的影响较大,数据库中数据表的多少对效率的影响并不太大,特别是数据表的数量级没有突破SQLSERVER的本身的限制时 
2,访问数据库的瓶颈是连接数据库,把数据分开放后无形中增加了这个负担 
3,这几个模块经常会涉及到联合查询,分开后不利于创建存储过程

解决方案 »

  1.   

    如果说是会员方面,订单方面,产品方面访问量均衡并且相互之间交叉查询较少,才分开放。但这种情况,几乎不存在吧,没听说过数据表分开放的,但可以使用分布式存储,构建SQL Server数据库服务器集群,几台服务器同时工作,但外部只相当于一个SQL Server
      

  2.   

    如果数据量、访问量很大,分开放最好,原因如下:
    1、从事务处理上来考虑,sql server在一个CPU上的事务处理能力是有限的,这样就有点类似于多线程的程序在单CPU的机器上跑效率高还是多CPU的机器上跑得效率高一个道理
    2、从日志上分析:把事务日志分开存储有利于速度的提高,所有的事务如果由单台服务器处理,随着访问量的增高,负荷越大,数据库处理能力当然就会降低
    3、你所说的数据库连接的瓶颈:sql server支持链接服务器,所以数据库的连接并不会成为妨碍你数据处理以及开发的瓶颈
    4、从管理维护角度分析:分开放还是一起放再明显不过了
    5、从开发以及数据库关系的角度考虑:这个应该是放在一台上面比较方便,但是仍然有解决的办法,可以采用链接服务器创建视图的方法,这样就和一台上差不多。    综上:事务的并发处理能力的增强(包括事务验证、事务回滚、事务提交、事务日志等等)是你所需要的,而开发和你所说的瓶颈并不是真正的瓶颈。
      

  3.   

    从安全角度来说不要放在一台机器上
     可以把web服务器,sql server 放在同一个局域网里,
     安全,连接速度快
      

  4.   

    在应用很高强度的场合,如果能因应实际需求粒度把一个大系统划分成几个实例,当然是最理想不过的。如天堂2的数据库就用了6个实例! 就是说它可以在6个MSSQL Server上跑,当然性能弹性比一个实例要大得多。
    上述有同志提及的性能群集,在MSSQL2000中,是没有这个概念的,一个叫Orcale的老兄就有。所以MSSQL的大应用提高性能在软件而言分实例乃不二法门。
    但,分开多个实例也有唏嘘的地方,如事务处理的复杂性,还有进行“故障转移群集”时候的硬件投资,均应该一并考虑。