网站大量收购独家精品文档,联系QQ:2885784924

SQL分区管理对海量数据的处理.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL分区管理对海量数据的处理.doc

SQL?Server?2005利用分区对海量数据的处理 超大型数据库的大小常常达到数百GB,有时甚至要用TB来计算。而单表的数据量往往会达到上亿的记录,并且记录数会随着时间而增长。这不但影响着数据库的运行效率,也增大数据库的维护难度。除了表的数据量外,对表不同的访问模式也可能会影响性能和可用性。这些问题都可以通过对大表进行合理分区得到很大的改善。当表和索引变得非常大时,分区可以将数据分为更小、更容易管理的部分来提高系统的运行效率。如果系统有多个CPU或是多个磁盘子系统,可以通过并行操作获得更好的性能。所以对大表进行分区是处理海量数据的一种十分高效的方法。本文通过一个具体实例,介绍如何创建和修改分区表,以及如何查看分区表。? SQL?Server?2005 ?????SQL?Server?2005结合了分析、报表、集成和通知功能。这使企业可以构建和部署经济有效的BI解决方案,帮助团队通过记分卡、Dashboard、Web?Services和移动设备将数据应用推向业务的各个领域。它所带来的新特性,如T-SQL的增强、数据分区、服务代理和与.Net?Framework的集成等,在易管理性、可用性、可伸缩性和安全性等方面都有很大的增强。 2????表分区的具体实现方法 表分区分为水平分区和垂直分区。水平分区将表分为多个表。每个表包含的列数相同,但是行更少。例如,可以将一个包含十亿行的表水平分区成?12?个表,每个小表表示特定年份内一个月的数据。任何需要特定月份数据的查询只需引用相应月份的表。而垂直分区则是将原始表分成多个只包含较少列的表。水平分区是最常用分区方式,本文以水平分区来介绍具体实现方法。 水平分区常用的方法是根据时期和使用对数据进行水平分区。例如本文例子,一个短信发送记录表包含最近一年的数据,但是只定期访问本季度的数据。在这种情况下,可考虑将数据分成四个区,每个区只包含一个季度的数据。 2.1?????创建文件组 建立分区表先要创建文件组,而创建多个文件组主要是为了获得好的?I/O?平衡。一般情况下,文件组数最好与分区数相同,并且这些文件组通常位于不同的磁盘上。每个文件组可以由一个或多个文件构成,而每个分区必须映射到一个文件组。一个文件组可以由多个分区使用。为了更好地管理数据(例如,为了获得更精确的备份控制),对分区表应进行设计,以便只有相关数据或逻辑分组的数据位于同一个文件组中。使用?ALTER?DATABASE,添加逻辑文件组名: ALTER?DATABASE? 库名 ?ADD?FILEGROUP?文件组名 创建文件组后,再使用?ALTER?DATABASE?将文件添加到该文件组中: ALTER?DATABASE?[库名]?ADD?FILE?(?NAME?=?NFG1, ?FILENAME?=?NC:\DeanData\FG1.ndf?,?SIZE?=?3072KB?,?FILEGROWTH?=?1024KB?)?TO?FILEGROUP?[FG1] 类似的建立三个文件和文件组,并把每一个存储数据的文件放在不同的磁盘驱动器里。 use master alter database stu add filegroup [fg1] go alter database stu add filegroup [fg2] go alter database stu add filegroup [fg3] go alter database stu add file (name=fg1, filename=c:\fg1.ndf, size=5mb) to filegroup [fg1] go alter database stu add file (name=fg2, filename=d:\fg2.ndf, size=5mb) to filegroup [fg2] go alter database stu add file (name=fg3, filename=e:\fg3.ndf, size=5mb) to filegroup [fg3] go 创建分区函数 创建分区表必须先确定分区的功能机制,表进行分区的标准是通过分区函数来决定的。创建数据分区函数有RANGE?“LEFT?|?/?RIGHT”两种选择。代表每个边界值在局部的哪一边。例如存在四个分区,则定义三个边界点值,并指定每个值是第一个分区的上边界?(LEFT)?还是第二个分区的下边界?(RIGHT)[1]。 根据email地址创建分区函数,分为三个区。代码如下: create partition function emailPF(nvarchar(50)) as range right for v

文档评论(0)

docinpfd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5212202040000002

1亿VIP精品文档

相关文档