SQLServer里10万的表成为运行瓶颈的问题
一网友在我的一个博文里留言的,我单独拿出来整理了一下问题如下:我们的数据库在用户不断增长的过程中产生了瓶颈,数据库并发操作频率很高,有几个表数据量很大,到十几万条记录了,而且这几个表操作频率很高,所以在线人数到两千左右就会产生死锁现象。数据库成了瓶颈!我们用的也是ms sql server2000,我看了下数据库群集方面的内容,但是网上都说SQL SERVER群集不支持负载均衡,只支持故障转移。但是我们没有实际经验。希望对sql server群集和数据库负载均衡方面的知识给些建议或者写些文章。谢谢!对了我们是做棋牌游戏的,所以数据库是游戏大厅和网站共同使用的。我的个人观点:在线人数到两千左右?哥们,你怎么统计的在线人数?并发用户和在线人数没有必然的联系。你不会每隔10秒钟就ping一次,确认在线吧,呵呵。如果数据真的只有10万,你应该看看经常用到的数据有多少?那些数据应该被缓冲才对。不要每次读取数据都访问数据库,那个是很慢的。以前见过几个游戏的程序,是把所有基础数据都读取到内存(人员,装备等),这些数据使用太频繁了,读到内存直接用,效率绝对高。 另一方面,数据会定时刷新到数据库,我记得好像是1小时才刷一次。不过,我依然认为1 你的程序编写有问题2 你的查询语句写的有问题3 你的索引设置有问题4 你的数据库结构有问题,肯定可以优化5 你的机器太烂了。好好看看哪个引起了性能问题,进行语句,算法,数据结构的优化吧。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |