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