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.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]的空间使用结果,你可以看到索引上的行压缩也工作得很好。
总结
这篇文章介绍了怎样激活表和索引的行数据压缩。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接