在SQL Server 2008数据库中实现数据压缩.docVIP

在SQL Server 2008数据库中实现数据压缩.doc

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

在SQL Server 2008数据库中实现数据压缩 (1) 发布时间:2008.09.19 14:03 来源:赛迪网 作者:林善茂 【赛迪网-IT技术报道】摘要:SQL Server 2008中有个有趣的新特性:数据压缩,利用该特性,我们可以减小数据表,索引以及分区的子集的大小。本文通过例子详细介绍如何使用该特性。 SQL Server中的数据压缩功能,最早在SQL Server 2005 SP2中出现,当时针对decimail和numeric数据类型推出了新的存储格式--vardecimal。vardecimal存储格式允许decimal和numeric数据类型的存储作为一个可变长度列。 这个概念已扩展在SQL Server 2008的所有固定长度的数据类型,如integer, char, 和 float等数据类型。借助数据压缩,减少了存储成本,并提高查询性能,减少I / O和增加缓冲点击率。 虽然SQL Server 2008 支持 vardecimal 存储格式;但是,由于行级压缩可实现同样的目标,因此在SQL Server 2008中不推荐使用 vardecimal 存储格式。 SQL Server 2008对于表和索引,同时支持行(ROW)和页面(Page)两种压缩模式。下面对这两种数据压缩类型简单做个对比: 行压缩。行压缩可以将固定长度类型存储为可变长度存储类型。例如char(100)列储存在一个可变长度存储格式将只使用了存储量所定义的数据。储存的“ SQL Server 2008 ”,压缩后只需要存放15个字符,而非全部100个字符,从而节省了85%的存储空间。这是在SQL Server 2005 Service Pack 2中提供的vardecimal存储格式的思路的延伸。同时需要注意的是,这种压缩模式,将对所有数据类型的 NULL 和 0 值进行优化,从而使它们不占用任何字节。 页面压缩模式。这种压缩功能,建立在行压缩基础之上,通过只存储一次页面上相同事件字节来将存储的冗余数据减到最小。使用页压缩压缩表和索引,除了采用行压缩,还采用了前缀压缩和字典压缩。 数据压缩会减少的大小您的表格或索引指标,最好是先评估一下压缩后所能节省的空间。,估计节省空间在一个表或索引使用,无论是sp_estimate_data_compression_savings系统存储过程还是数据压缩向导。检查过程中,如果发现现有数据的零碎程度很高,则可能需要重新生成索引(而不是使用压缩)来减小索引的大小。 1、估算压缩后可节省的存储空间 我们可以利用sp_estimate_data_compression_savings系统存储过程或者数据压缩向导可以预估出数据表或者索引可以节省的存储空间。 以下举例说明:在AdventureWorks 数据库中使用sp_estimate_data_compression_savings系统存储过程: 参数说明: 第一个参数是包含表或索引视图的数据库架构的名称。如果 为 NULL,则使用当前用户的默认架构。 第二个参数是索引所属的表或索引视图的名称。 第三个参数是索引的ID 第四个参数是对象中的分区号 最后一个参数是要评估的压缩的类型。 执行上面的SQL语句,我们将看到以下的执行结果: 图1 执行 SQL语句 后的输出结果 注意size_with_current_compression_setting(KB)和 size_with_requested_compression_setting (KB)这两个列,这两字段将告诉您 Sales.SalesOrderDetail这个表预计可节省的空间。 如果要使用数据压缩向导,右键点击Sales.SalesOrderDetail这个表,在弹出菜单中选择Storag项中的Manage Compression子项。 图2 数据压缩菜单 这将启动数据压缩向导。在欢迎界面中,单击“Next”,进入下一步骤。 图3 数据压缩向导欢迎界面 在选择压缩类型页面中,点击“Compression Type”这一列的下拉菜单,根据实际需要选择压缩类型。 在SQL Server 2008数据库中实现数据压缩 (2) 发布时间:2008.09.19 14:03 来源:赛迪网 作者:林善茂 由于执行sp_estimate_data_compression_savings系统存储过程时,我们选择了行压缩,为了便于对比,我们也选择相同选项。 选完后点击“Calculate”按钮,将看到与执行存储过程后类似的信息。 图4 数据压缩向导过程中选择压缩类型 这两种方法都可以预估出数据表或者索引可以节省的存储空间。 2、改变表的压缩选项 为了现

文档评论(0)

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

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

1亿VIP精品文档

相关文档