你的位置:首页 > 软件开发 > 数据库 > 数据压缩 : 简要

数据压缩 : 简要

发布时间:2016-07-14 16:00:17
1. 决定压缩哪些对象通过sp_estimate_data_compression_savings 评估在ROW和PAGE压缩时分别节省的空间量。表包含如下数据模式时,会有较好的压缩效果:数字类型的列和固定长度的字符类型数据,但两者的大多数值都不会用到此类型的所有字节。如INT列 ...

数据压缩 : 简要

1. 决定压缩哪些对象

通过sp_estimate_data_compression_savings 评估在ROW和PAGE压缩时分别节省的空间量。

表包含如下数据模式时,会有较好的压缩效果:

  • 数字类型的列和固定长度的字符类型数据,但两者的大多数值都不会用到此类型的所有字节。如INT列的值大多数少于1000.
  • 允许为NULL的列有很多NULL值
  • 列值中有很多一样的值或者相同的前缀。

表包含如下数据模式时,压缩效果较差:

  • 数字类型的列和固定长度的字符类型数据,但是两者的大多数值都会用尽此类型的所有字节。
  • 非常少量的重复值
  • 重复值不具有相同的前缀
  • 数据存储在行外
  • FILESTREAM数据

 

2. 评估应用负载模式

被压缩的页在磁盘和内存都是压缩的。下面两种情况下会被解压缩(不是整页解压缩,只解压缩相关的数据):

  • 因为查询中的filtering, sorting, joining操作而被读取
  • 被应用程序更新

解压缩会消耗CPU,但是数据压缩会减少物理IO和逻辑IO,同时会提高缓存效率。对于数据扫描操作,减少的IO量非常可观。对于单个的查找操作,减少的IO量较少。

行压缩导致的CPU开销通常不会超过10%。如果当前的系统资源充足,增加10%CPU毫无压力的话,建议所有的表都启用行压缩。

页压缩比行压缩的CPU开销高一些,所以确定是否使用页压缩会困难一些。可以通过一些简单的准则来帮助我们判断:

  • 从那些不常用的表和索引开始
  • 如果系统没有足够的CPU余量,不要使用页压缩
  • 因为 filtering, joins, aggregates和sorting操作使用解压缩后的数据,所以数据压缩对这类查询没有太多帮助。如果工作负载主要由非常复杂的查询(多表JOIN,复杂聚合)组成,页压缩不会提高性能,最主要是节省存储空间。
  • 大型数据仓库系统中,扫描性能是其重点,同时存储设备的成本较高,在CPU性能允许下,建议对所有表使用页压缩。

可以通过两个更细的度量值来帮我们评估使用何种数据压缩方式:

  • U:特定对象(表、索引或者分区)的更新操作占所有操作的百分比。越低越适合页压缩。
  • S:特定对象(表、索引或者分区)的扫描操作占所有操作的百分比。越高越适合页压缩。

通过如下脚本查询数据库所有对象的U:

SELECT o.name AS [Table_Name], x.name AS [Index_Name],    i.partition_number AS [Partition],    i.index_id AS [Index_ID], x.type_desc AS [Index_Type],    i.leaf_update_count * 100.0 /      (i.range_scan_count + i.leaf_insert_count      + i.leaf_delete_count + i.leaf_update_count      + i.leaf_page_merge_count + i.singleton_lookup_count      ) AS [Percent_Update]FROM sys.dm_db_index_operational_stats (db_id(), NULL, NULL, NULL) iJOIN sys.objects o ON o.object_id = i.object_idJOIN sys.indexes x ON x.object_id = i.object_id AND x.index_id = i.index_idWHERE (i.range_scan_count + i.leaf_insert_count    + i.leaf_delete_count + leaf_update_count    + i.leaf_page_merge_count + i.singleton_lookup_count) != 0AND objectproperty(i.object_id,'IsUserTable') = 1ORDER BY [Percent_Update] ASC

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:数据压缩 : 简要

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录