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

SQL Server 2008中的行压缩浅析

 2010-10-01 09:00:21 来源:WEB开发网   
核心提示: GOCREATE TABLE [NoNCompressed Table2](id int, FName varchar(100), LName varchar(100))declare @n intset @n=0while @n<=10000begininsert into [No

GO

CREATE TABLE [NoNCompressed Table2]

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

declare @n int

set @n=0

while @n<=10000

begin

insert into [NoNCompressed Table2] values

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

set @n=@n+1

end

GO

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

EXEC sp_spaceused [NONCompressed Table2]

结果

name,rows,reserved,data,index_size,unused

NoNCompressed Table,30003 ,968 KB,944 KB,8 KB,16 KB

使用ALTER TABLE语句对这个表添加数据压缩特性,如下所示。

ALTER TABLE [NoNCompressed Table2]

REBUILD WITH (DATA_COMPRESSION = ROW );

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

EXEC sp_spaceused [NONCompressed Table2]

结果

name,rows,reserved,data,index_size,unused

NoNCompressed Table2,30003 ,592 KB,560 KB,8 KB,24 KB

有时你需要创建一个使用数据压缩的索引。让我们比较具有非压缩聚集和非聚集索引的表的大小与具有压缩聚集和非聚集索引的表的大小。

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

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

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

上一页  1 2 3 4 5  下一页

Tags:SQL Server 压缩

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