sql server 2008启用数据压缩(基础)

本文详细介绍了SQL Server 2008中数据压缩功能的应用,包括如何创建表并设置压缩选项,修改表的压缩形式,以及插入测试数据。同时,展示了如何对分区进行数据压缩,并提供了启用不同压缩方式的效果分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

-- =============================================      
-- Author:      余波(杭州)      
-- Create date: 2011/09/17      
-- Description: sql server 2008数据压缩      
-- =============================================      
-- sql server新增了数据压缩功能,可以显著减少数据的硬盘存储空间
-- 数据压缩包括行压缩和页压缩,关于理论知识大家可以去看一下书哈

---------创建表并设置表的压缩选项---------------

create table test
(
	id int not null identity(1,1),
	t_id int not null,
	t_desc char(200) not null,  -----行压缩主要是为数值类型和固定长度的类型,使用可变长度的存储,所以用char,突出效果
	constraint pk_tb primary key(id)
)with (data_compression=none)  ----data_compression就是数据压缩的关键字,其中有none(不启用数据压缩),row(行压缩),page(页压缩)

---------修改表的数据压缩形式-------------------
alter table test rebuild with (data_compression=page)

---------插入测试数据---------------------------
insert into test(t_id,t_desc)
values(CAST(RAND()*10 as int),REPLICATE('a',50))
GO 1000

----------查看启用数据压缩后的效果-------------
exec sys.sp_estimate_data_compression_savings
	@schema_name='dbo',   --------模式名
	@object_name='test',  --------表名
	@index_id=null,
	@partition_number=null,
	@data_compression=page  -------采用数据压缩方式

----------------对分区进行数据压缩--------------

create table partition_test
(
	id int not null identity(1,1),
	p_id int not null,
	p_date datetime,
	constraint pk_partitiontest primary key clustered(id)
)on[s_test](p_date)   -----------分区方案参照sql server分区表基础(一)
with (data_compression=page on partitions(1 to 3),data_compression=row on partitions (4))
-----------为分区1至3启用数据页压缩,为分区4启用数据行压缩

--------------------修改分区数据压缩方式------------------
alter table partition_test
rebuild partition=4
with (data_compression=page)

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值