SQL Server 2008中的数据压缩

数据压缩是 Microsoft SQL Server 2008 中的一项新功能,可自动压缩存储在数据库中的数据。 它降低了数据的存储需求,并提高了 IO 性能。 SQL Server 提供了两个级别的压缩,如下所述。

  1. 行级压缩:

它是较低级别的压缩,执行诸如将固定字符串更改为可变长度格式的操作
删除所有数据类型的 NULL 和零值。 并且这些值不存储在磁盘中。
将 CHAR 数据类型存储为可变长度数据类型。 例如,如果您有 CHAR (100) 数据类型并其中存储 10 个字符作为数据。 那么只有 10 个字符的空间将被分配给变量并且不会存储空白字符。

SQL Server 2008中的行级数据压缩示例

create table testtbl(col1 int,col2 varchar(32)) with(DATA_COMPRESSION=ROW);

exec sp_estimate_data_compression_savings
  1. 页面级压缩:

这是较低级别的压缩。 它从行级数据压缩开始。 它使用两种类型的压缩前缀压缩和字典压缩。
前缀压缩用于跨所有行的通用值模式,而字典压缩用于跨页面的精确值匹配。

SQL Server 2008中的页面级数据压缩示例

create table testtbl(col1 int,col2 varchar(32)) with(DATA_COMPRESSION=PAGE);

exec sp_estimate_data_compression_savings
日期:2020-06-02 22:17:44 来源:oir作者:oir