日期:2014-05-16  浏览次数:20483 次

除了分库,还有什么招能面对这种问题
一个游戏,目前同时在线人数不断上升,越来越卡,经性能分析问题还是出在数据库那。公司内部讨论的方案就是游戏分区,一个区对应一个数据库,每个分区有最高在线人数上限限制。这样确实能解决比较卡的问题,但是新问题来了,每个分区用户都必须注册一次。且每个库都必须维护游戏元数据表。外面那些只注册一个账号,就能每个分区都进入的是怎么实现的呢,而且每个库都必须维护游戏元数据表这个问题也很头疼?
------解决方案--------------------
引用:
Quote: 引用:

2005以上也可以用分区表,不过限制挺多的

分区表不能解决我们的问题,我们的问题是同时在线人数太多了,这种情况你用什么规则分表呢?



引用:
你可以通过数据库复制,把一个库上的用户表的记录,复制到其他的数据库上

请问如何自动完成这个操作?这要求的是A区注册一个新用户,用户表同步到其它所有区的数据库里


有多个方法,可以采用:链接服务器+触发器

不过,建议采用,数据库复制:

SQL Server 2008R2中通过数据库复制,把A表的数据复制到B表
http://blog.csdn.net/sqlserverdiscovery/article/details/17059073