大数据量的性能问题

littlechang 2005-08-01 10:36:28
对于一个每天产生的数据记录为100万条的数据库(平均分布于两个表中),如何才能有效的提高数据检索的速度?。
我测试时使用的机器配置为C1.8G,768M内存,只有一个查询点(web),就经常提示数据连接超时。
实际中可能会有几十个点同时查询(内容不一样),峰值可能要上千个点同时查询。
服务器的配置要多少才能比较好呢?请高手给点建议吧。
...全文
190 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzymagi 2005-08-01
  • 打赏
  • 举报
回复
最起码要双CPU,2G以上的内存。

做个备份服务器更好,把一些查询分流到备份服务器,另外就是索引和平台的设计问题了。
子陌红尘 2005-08-01
  • 打赏
  • 举报
回复
每个表的数据量尽量控制在1,000,000条记录以内,然后辅助以合理的索引。

当然,表应该分布在多个物理磁盘上或者使用磁盘阵列,这样才能保障得到并行的I/O效率。
littlechang 2005-08-01
  • 打赏
  • 举报
回复
谢谢libin_ftsafe(子陌红尘) ,我已经在考虑表分区了,之前没有做过这么多记录的数据库系统。
把1,000,000条记录分到1000个以上的表中,应该基本能解决这个问题了吧
子陌红尘 2005-08-01
  • 打赏
  • 举报
回复
单纯从硬件考虑只是优化过程的一个方面,对于每天产生1,000,000条记录的系统而言,表分区势在必行。

从硬件角度的而言,磁盘I/O是一个不容忽视的环节,而当前系统的主要瓶颈就在于I/O效率,分区视图结合磁盘阵列可以以并行I/O的方式提高数据的检索性能。
littlechang 2005-08-01
  • 打赏
  • 举报
回复
To libin_ftsafe(子陌红尘):
可能有一点我没有说清楚,我现在测试用的机器决不是实际使用中的服务器,实际的服务器计划使用P4 2.8G*2,2G内存,不知性能能得到多大的提高,可否满足上面的要求?
子陌红尘 2005-08-01
  • 打赏
  • 举报
回复
初期的设计不合理,按眼下的形势,再高的硬件配置也还是解决不了问题。

1、对大表进行分区,将数据按照时间划分成多个表,通过分区视图关系起来

2、建立合理的索引

3、采用磁盘阵列,并行I/O以提高数据检索的效率

4、升级硬件配置,按楼主的描述,即使配置最高档的PC服务器也是有必要的

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧