日期:2014-05-17  浏览次数:20359 次

如何解决大表查询问题。
背景:
   现在有一个数据库里面有一个表数据量每天在成倍的增长,已经到了过百万的数据量,导致应用程序过慢。
数据库用的是SQL 2000数据库。

目前临时的解决方法是:
  把这个表的数据迁移,并且让这个表单独一个文件组来进行存放,应用程序快了很多。

不知道大家有没有什么好的解决方法。

------解决方案--------------------
 百万数据2000还是顶得住的
------解决方案--------------------
要先找到瓶颈,绝大部分情况下是你的程序、T-SQL效率低,不一定是数据量,当然,数据量大也是比较大的
------解决方案--------------------
可以使用归档功能,把一些历史数据,不是经常查询的数据,分到另外一个实体表,减少活动数据所在的表的数据量
------解决方案--------------------
既然数据能够迁移,说明程序设计上有问题。
迁移固然是办法,优化系统设计是治本
------解决方案--------------------
过百万的数据并不是很多,可以优化系统,比如建立索引,就可以加快查询的速度。

我原来公司的业务表2亿条数据,速度还是很快的
------解决方案--------------------
另外,你的办法也是对的,就是迁移数据,把数据迁移到其他的文件组,但最好这个文件组是在一个单独的硬盘上,也就是充分利用IO的特性,提高查询效率
------解决方案--------------------
另外,可以的话,可考虑升级到2005,2005以后有分区表,就可以非常容易实现数据迁移,提高IO效率
------解决方案--------------------
建议多关注一下表的索引碎片程度,必要是重建或重整索引.

另: 应检查SQL2000 SP4补丁是否已安装.