如何提高SQL Server数据仓库性能
2008-09-02 09:59:08 来源:WEB开发网下一部分我将会解释一下归档数据。
数据管理
基于数据库对于数据类型的设计,要时刻注意数据集增长的速度。例如,考虑将数据根据日期在逻辑上划分到小一点的表上去,例如每季度或者每月一张表。如果你可以在功能上划分数据,判断它是否具有意义。例如,如果你有电话数据,那么将所有的表放到同一张表上有意义吗,还是把它们分散到手机电话数据、家庭电话数据、公司电话数据、长途、本地等更有意义?
另外一个考虑就是与你的用户协商归档数据的频率。根据数据或者行业,你可能有一些法定的限制。数据量会对性能产生最大的影响。判断你的原始数据库是否可以支持有限时间长度,然后移动老一些的数据到归档数据库中,以同样的数据库设计。如果需要研究和报告的话,这个数据仍然可以接受访问,但是它不会影响主数据库支持99%的查询。
SQL Server特性和配置
这篇文章中列出的很多项目实际上都与SQL Server无关,并且潜在地会被支持数据仓库的任何数据库平台使用到。现在我么跳到特别为SQL Server准备的内容上去,看看它如何提高一个新的或者现有的数据仓库的性能。这些项目包括:
SQL Server 2005分区
分区是一个新的SQL Server 2005特性。在分区上,可以预先判断的基础文件群的数量内,水平分割表的数之范围之外再选中一卷或者多个卷。一个常见的分区卷就是日期卷或者对标进行的逻辑分组,例如区域、时区等。这会潜移默化地为大表上的查询提高性能,这在数据仓库中是很常见的,因为文件组都可以划分在多个基础的物理磁盘上,这可以提高I/O速度。你还可以为索引创建分区,同样也会提高性能。要获得有关分区的额外信息,请参考计划分区表和索引的指导。
如果分区表对你来说是个新事物的话,那么考虑使用Database Engine Tuning Advisor作为了解你的系统和分区特性的一种方式。数据库引擎调整指导为你提供一些性能改善的建议,其中就包括分区。只要保存SQL Server Profile会话的结果,数据库引擎调整指导可以分析这些结果,并且提供潜在的分区建议。要采纳这些结果要非常谨慎,并且充分计算了与分区建议有关的性能测量参数。接下来,用现有的配置和推荐的配置来测试性能测量标准以判断优势。
更多精彩
赞助商链接