WEB开发网
开发学院数据库MSSQL Server SQL Server 2008中的行压缩浅析 阅读

SQL Server 2008中的行压缩浅析

 2010-10-01 09:00:21 来源:WEB开发网   
核心提示: 使用下面的事务SQL语句来创建一个没有压缩而有大量数据的类似表: /** Object: Table [dbo].[NoNCompressed Table4] Script Date: 05/27/2009 02:24:23 **/ IF EXISTS (SELECT * FROM sys

使用下面的事务SQL语句来创建一个没有压缩而有大量数据的类似表:

      /****** Object: Table [dbo].[NoNCompressed Table4] Script Date: 05/27/2009 02:24:23 ******/

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[NoNCompressed Table4]') AND type in (N'U'))

DROP TABLE [dbo].[NoNCompressed Table4]

GO

CREATE TABLE [NoNCompressed Table4]

(id int, FName varchar(100), LName varchar(100))

declare @n int

set @n=0

while @n<=10000

begin

insert into [NoNCompressed Table4] values

(1,'Adam','Smith'),(2,'Maria','carter'),(3,'Walter','zenegger')

set @n=@n+1

end

GO

现在让我们使用下面的事务SQL语句给这个具有压缩的表添加一个聚集索引。

create clustered index [NoNCompressed Table4_Cl_Idx] on

[NoNCompressed Table4](ID)

with (data_compression = ROW)

使用下面的事务SQL语句来查询这个表所使用的空间。

EXEC sp_spaceused [NONCompressed Table4]

结果

name,rows,reserved,data,index_size,unused

NoNCompressed Table4,30003 ,744 KB,616 KB,64 KB,64 KB

使用下面的事务SQL语句给这个表添加一个具有压缩的非聚集索引。

create Nonclustered index [NoNCompressed Table4_NonCl_Idx] on

[NoNCompressed Table4](Fname)

with (data_compression = ROW)

使用下面的事务SQL语句来查询这个表所使用的空间。

EXEC sp_spaceused [NONCompressed Table4]

结果

name,rows,reserved,data,index_size,unused

NoNCompressed Table4,30003 ,1264 KB,616 KB,496 KB,152 KB

从[NONCompressed Table4] 和[NONCompressed Table3]的空间使用结果,你可以看到索引上的行压缩也工作得很好。

总结

这篇文章介绍了怎样激活表和索引的行数据压缩。

上一页  1 2 3 4 5 

Tags:SQL Server 压缩

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接