sqlserver2012使用数据压缩

sqlserver2012使用数据压缩

ID:34725912

大小:228.18 KB

页数:10页

时间:2019-03-10

sqlserver2012使用数据压缩_第1页
sqlserver2012使用数据压缩_第2页
sqlserver2012使用数据压缩_第3页
sqlserver2012使用数据压缩_第4页
sqlserver2012使用数据压缩_第5页
资源描述:

《sqlserver2012使用数据压缩》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数据压缩SQLServer2012其他版本此主题尚未评级 - 评价此主题SQLServer2012支持表和索引的行压缩和页压缩。 您可以使用数据压缩功能帮助压缩数据库中的数据并帮助减小数据库的大小。 除了节省空间之外,数据压缩还可以帮助提高I/O密集型工作负荷的性能,因为数据存储在更少的页中,查询需要从磁盘读取的页更少。 但是,在与应用程序交换数据时,在数据库服务器上需要额外的CPU资源来压缩和解压缩数据。 可以为以下数据库对象配置数据压缩:·存储为堆的整个表。·存储为聚集索引的整个表。·整个非聚集索引。·整个索引视图。·对于已分区表和已分区索

2、引,可为每个分区配置压缩选项,且对象的各个分区的压缩设置不必相同。使用行压缩和页压缩时的注意事项使用行压缩和页压缩时,应注意以下事项:·在ServicePack或后续版本中,有关数据压缩的详细信息如有更改,恕不另行通知。·不是SQLServer的每个版本都提供压缩功能。 有关详细信息,请参阅 SQLServer2012各个版本支持的功能。·压缩功能不可用于系统表。·通过压缩可在一页上存储更多的行,但不会更改表或索引的最大行大小。·当最大行大小加上压缩开销超过最大行大小8060个字节时,不能对表启用压缩功能。 例如,不能压缩具有c1 char(8

3、000) 和c2 char(53) 列的表,因为存在额外的压缩开销。 当使用vardecimal存储格式时,会在启用此格式时执行行大小检查。 对于行压缩和页压缩,在最初压缩对象时会执行行大小检查,以后在每插入或修改一行时也都会执行这一检查。 压缩功能要求遵循下面两条规则:o固定长度类型的更新必须总是成功。o禁用数据压缩必须总是成功。 即使已压缩的行可以容纳在页面中(意味着它小于8060个字节),SQLServer也不允许对哪些在未压缩时无法容纳在行中的更新。·当指定分区列表时,可以将各个分区的压缩类型设置为ROW、PAGE或NONE。 如果未指

4、定分区列表,将使用语句中指定的数据压缩属性来设置所有分区。 创建表或索引时,除非指定了其他压缩设置,否则数据压缩将设置为NONE。 修改表时,除非指定了其他压缩设置,否则将保留现有压缩设置。·如果指定的分区列表或分区超出范围,将生成错误。·非聚集索引不继承表的压缩属性。 若要压缩索引,必须显式设置索引的压缩属性。 默认情况下,在创建索引时,索引的压缩设置将设置为NONE。·对堆创建聚集索引时,除非指定了另一压缩状态,否则聚集索引会继承该堆的压缩状态。·如果堆配置为页级压缩,则只有在以下情况下,页才会进行页级压缩:o在启用大容量优化的情况下大容量

5、导入数据。o数据是使用INSERTINTO... WITH(TABLOCK)语法插入的。o表是通过执行带PAGE压缩选项的ALTERTABLE... REBUILD语句重新生成的。·通过DML操作被分配到堆中的新页面将不会使用PAGE压缩,除非重新生成该堆。 重新生成堆的方法有:删除压缩然后重新应用压缩,或者创建聚集索引然后再删除聚集索引。·若要更改堆的压缩设置,要求对表重新生成所有非聚集索引,以便它们具有指向堆中的新行位置的指针。·可以联机或脱机启用或禁用ROW或PAGE压缩功能。 当执行联机操作时,对堆启用压缩功能是单线程的。·启用或禁用行

6、压缩或页压缩的磁盘空间要求与创建或重新生成索引时的磁盘空间要求相同。 对于已分区数据,可以通过每次对一个分区启用或禁用压缩功能来减少所需的空间。·若要确定已分区表中分区的压缩状态,请查询sys.partitions目录视图的data_compression列。·压缩索引时,可以使用行压缩和页压缩来压缩叶级页。 非叶级页不接收页压缩。·由于大小的关系,大值数据类型有时不与普通行数据存储在一起,而是存储在特殊用途的页上。 对于单独存储的数据,数据压缩不可用。·SQLServer2005中实现vardecimal存储格式的表在升级后会保留该设置。 可

7、以向具有vardecimal存储格式的表应用行压缩。但是,因为行压缩是vardecimal存储格式的超集,所以不必保留vardecimal存储格式。 将vardecimal存储格式与行压缩一起使用时,十进制值不会进一步压缩。 可以向具有vardecimal存储格式的表应用页压缩;但是,vardecimal存储格式列可能不会实现进一步的压缩。 注意SQLServer2012支持vardecimal存储格式;但是,由于行级压缩可实现同样的目标,因此不推荐使用vardecimal存储格式。 后续版本的MicrosoftSQLServer将删除该功能。

8、请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。压缩对已分区表和已分区索引的影响如果对已分区表和已分区索引使用数据压缩,则应

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。