日期:2013-02-16 浏览次数:20494 次
超大型数据库的大小常常达到数百GB,有时甚至要用TB来计算。而单表的数据量往往会达到上亿的记录,并且记录数会随着时间而增长。这不但影响着数据库的运转效率,也增大数据库的维护难度。除了表的数据量外,对表不同的访问模式也可能会影响功用和可用性。这些问题都可以通过对大表进行合理分区得到很大的改善。当表和索引变得非常大时,分区可以将数据分为更小、更容易管理的部分来提高系统的运转效率。如果系统有多个CPU或是多个磁盘子系统,可以通过并行操作获得更好的功用。所以对大表进行分区是处理海量数据的一种十分高效的方法。本文通过一个具体实例,引见如何创建和修正分区表,以及如何查看分区表。
1 SQL Server 2005
SQL Server 2005是微软在推出SQL Server 2000后时隔五年推出的一个数据库平台,它的数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功用,使用户可以构建和管理用于业务的高可用和高功用的数据使用程序。此外SQL Server 2005结合了分析、报表、集成和通知功用。这使企业可以构建和部署经济无效的BI处理方案,协助团队通过记分卡、Dashboard、Web Services和挪动设备将数据使用推向业务的各个领域。无论是开发人员、数据库管理员、信息任务者还是决策者,SQL Server 2005都可以提供出创新的处理方案,并可从数据中获得更多的好处。
它所带来的新特性,如T-SQL的加强、数据分区、服务代理和与.Net Framework的集成等,在易管理性、可用性、可伸缩性和安全性等方面都有很大的加强。
2 表分区的具体实现方法
表分区分为水平分区和垂直分区。水平分区将表分为多个表。每个表包含的列数相反,但是行更少。例如,可以将一个包含十亿行的表水平分区成 12 个表,每个小表表示特定年份内一个月的数据。任何需求特定月份数据的查询只需援用相应月份的表。而垂直分区则是将原始表分成多个只包含较少列的表。水平分区是最常用分区方式,本文以水平分区来引见具体实现方法。