SQL Server 2008中的行压缩浅析
2010-10-01 09:00:21 来源:WEB开发网在创建表或索引或当在改变一个索引或表时可以激活行压缩。
压缩可以是在行级别、页面级别和备份级别。在这篇文章中,我们将介绍怎样创建一个使用行压缩的表,并改变这个表及对它添加压缩。
让我们使用下面的事务SQL语句来创建一个没有压缩选项的表并对它添加一些数据:
/****** Object: Table [dbo].[NoNCompressed Table]
Script Date: 05/27/2009 02:24:23 ******/
IF EXISTS (SELECT * FROM sys.objects
WHERE object_id = OBJECT_ID(N'[dbo].[NoNCompressed Table]')
AND type in (N'U'))
DROP TABLE [dbo].[NoNCompressed Table]
GO
CREATE TABLE [NoNCompressed Table]
(id int, FName varchar(100), LName varchar(100))
-- Add 10,000 rows
declare @n int
set @n=0
while @n<=10000
begin
insert into [NoNCompressed Table] values
(1,'Adam','Smith'),(2,'Maria','carter'),(3,'Walter','zenegger')
set @n=@n+1
end
GO
现在让我们使用下面的事务SQL语句来查询这个表所使用的空间。
EXEC sp_spaceused [NONCompressed Table]
结果
name,rows,reserved,data,index_size,unused
NoNCompressed Table,30003 ,968 KB,944 KB,8 KB,16 KB
现在让我们使用下面的事务SQL语句来创建一个具有压缩的表并对它添加相同数量的数据:
/****** Object: Table [dbo].[Compressed Table]
Script Date: 05/27/2009 02:24:57 ******/
更多精彩
赞助商链接