`
阿尔萨斯
  • 浏览: 4110121 次
社区版块
存档分类
最新评论

SQLServer里10万的表成为运行瓶颈的问题

 
阅读更多

一网友在我的一个博文里留言的,我单独拿出来整理了一下


问题如下:

我们的数据库在用户不断增长的过程中产生了瓶颈,数据库并发操作频率很高,有几个表数据量很大,到十几万条记录了,而且这几个表操作频率很高,所以在线人数到两千左右就会产生死锁现象。
数据库成了瓶颈!我们用的也是ms sql server2000,我看了下数据库群集方面的内容,但是网上都说SQL SERVER群集不支持负载均衡,只支持故障转移。
但是我们没有实际经验。
希望对sql server群集和数据库负载均衡方面的知识给些建议或者写些文章。谢谢!
对了我们是做棋牌游戏的,所以数据库是游戏大厅和网站共同使用的。



我的个人观点:

在线人数到两千左右?哥们,你怎么统计的在线人数?并发用户和在线人数没有必然的联系。你不会每隔10秒钟就ping一次,确认在线吧,呵呵。



如果数据真的只有10万,你应该看看经常用到的数据有多少?那些数据应该被缓冲才对。
不要每次读取数据都访问数据库,那个是很慢的。以前见过几个游戏的程序,是把所有基础数据都读取到内存(人员,装备等),这些数据使用太频繁了,读到内存直接用,效率绝对高。 另一方面,数据会定时刷新到数据库,我记得好像是1小时才刷一次。



不过,我依然认为
1 你的程序编写有问题
2 你的查询语句写的有问题
3 你的索引设置有问题
4 你的数据库结构有问题,肯定可以优化
5 你的机器太烂了。


好好看看哪个引起了性能问题,进行语句,算法,数据结构的优化吧。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics