/*
2008 压缩
行压缩
SQL SERVER 2008 引进了行压缩这个新特性,只有企业版具有该新特性.行压缩只需要最低的空间对行数据进行压缩.行压缩可以在CREATE一个表,索引或者ALTER一个表,索引的时候进行创建.压缩可以在行级别,也可以在页级别.同样备份的时候也可以进行压缩.以下先举例说明如何创建一个表行压缩和ALTER表的时候添加行压缩.
建立测试数据
*/
CREATE DATABASE COMPRESSION_TEST
GO
USE COMPRESSION_TEST
GO
/* 建立一个具有行压缩的表*/
CREATE TABLE Compression_tb1
(id int not null identity(1,1),
departid int not null,
JOBdesc CHAR(2000) not null --为了效果明显一点,可以设置长点
)
with( DATA_COMPRESSION=ROW) --建立到有行压缩选项的表
/* 可以用如下语句从新配置压缩选项*/
ALTER TABLE Compression_tb1 REBUILD
WITH (DATA_COMPRESSION=NONE) --去除压缩选项
/*
以上个语句可以颠倒过来譬如先建立没有压缩选项的表,然后通过ALTER表配置获得压缩选项
其中DATA_COMPRESSION有个参数NONE,ROW,PAGE
下面对测试表填充垃圾数据来演示压缩的效果
*/
INSERT Compression_tb1(departid ,JOBdesc)
VALUES(CAST(RAND()*20 as int)
, REPLICATE('a',50))

本文介绍了SQL SERVER 2008中的行压缩和页压缩特性,包括如何创建行压缩表、修改压缩选项、估计压缩节省空间的方法,以及行压缩和页压缩的示例,展示了压缩对节省磁盘空间的效果。同时,文章讨论了压缩可能带来的CPU使用增加的问题,提醒读者在选择压缩时需要权衡存储和计算资源。
最低0.47元/天 解锁文章
1866

被折叠的 条评论
为什么被折叠?



