SQLServer:页压缩带来的空间节约之旅(sqlserver页压缩)

SQLServer中的页压缩功能,可以帮您节约内存开销,减少SQL请求中的磁盘 I/O操作,提高查询请求的性能。本文将介绍SQLServer中的页压缩的原理,并给出相关的实例来说明它的空间节约之旅。

SQL Server中的页压缩是基于以下原则:维护数据行的唯一性,并在存储模式中减少资源开支。页压缩就是在保留所有重要行数据的唯一性的情况下,尽可能删减行数据中的冗余字段,以便节省字段储存的空间,实现原注内存的空间的节约。

下面是一个简单的示例,说明页压缩的优点:

假设有一张表存储一个列表:

![SQLServer 页压缩](http://image.zhangxinxu.com/image/study/SQLServer/pagenation.png)

使用聚集索引进行页压缩:

“`SQL

CREATE CLUSTERED INDEX [IX_T1]

ON [dbo].[Tab1]

(

[itemId] ASC

)

WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,

IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON,

ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Tab1] REBUILD WITH (DATA_COMPRESSION=PAGE)


这样会将表中的重复字段,例如城市、省份等,将这些重复的字段的的值替换为一个只有一个实例的唯一标识,从而减小磁盘存储所需的空间。因此,两个表(未压缩与压缩是样的)对比,压缩后的表非常小。

本文介绍了SQLServer中的页压缩如何帮助开发者节约空间,以及举例说明了如何利用它来节省存储空间。如果用户有相应的权限,可以在生产环境中尝试使用页压缩,为提高系统性能贡献自己的力量。

数据运维技术 » SQLServer:页压缩带来的空间节约之旅(sqlserver页压缩)