SQL Server 2008行数据和页数据压缩解密

数据库 SQL Server 数据库运维
本文将介绍的是SQL Server 2008行数据和页数据压缩解密,这样的数据压缩功能提高的是整体的处理效率。

本文将为大家介绍SQL Server 2008行数据和页数据的一些处理方法,希望能对DBA的管理工作有所帮助。

SQL Server的性能主要取决于磁盘I/O效率,提高I/O效率某种程序上就意味着提高性能。SQL Server 2008提供了数据压缩功能来提高磁盘I/O。

数据压缩意味着减小数据的有磁盘占用量,所以数据压缩可以用在表,聚集索引,非聚集索引,视图索引或是分区表,分区索引上。

数据压缩可以在两个级别上实现:行级别和页级别。页级别压缩包括行级别压缩。表和索引在创建的同时就可以压缩,也可以使用Alter Table Rebuild With 或是 Alter Index Rebuild With语法压缩已存在表或是索引。当堆(Heap)上的压缩状态改变时,所有的非聚集索引也会重建。

下面让我们看看压缩过程到底都做了些什么。

行压缩:

1.减少元数据头记录数据。

2.所有的数值类型(integer,decimal,float)或基于数值类型的类型都会被压缩(datetime,money)。比如,100被存在一个int型字段中,占4位,但是从0~255只需要1位,压缩后,就节省了3byte空间。

3.Char和NChar都被存放于可变长度的类型中。原因同上。比如,CSDN被存在Char(10)中,但是它只需要Char(4)空间,所以压缩后就释放了Char(6)个空间。

4.所有类型的NULL和0都不占字节了。

页压缩:

1.进行行压缩。

2.前标压缩:每一页中的所有列,在行标头下面,每行都存储着一个行定义值,压缩后,所有行的定义值都被替换成行头值的引用。

3.字典压缩:字典压缩和前标压缩类似。前标压缩中,一个与其他普通值不同的值被定义到每一列上。但是字典压缩中,每一页中所有列的普通值被存在下一行的行头前面。然后,这些值被替换成新行的引用值。

下面我们来看一个例子:

USE tempdb   
GO   
CREATE TABLE TestCompression (col1 INT, col2 CHAR(50))   
GO   
INSERT INTO TestCompression VALUES (10, 'compression testing')   
GO 5000   
-- Original   
EXEC sp_spaceused TestCompression   
GO   
-- DATA_COMPRESSION = ROW   
ALTER TABLE TestCompression   
REBUILD WITH (DATA_COMPRESSION = ROW);   
GO   
EXEC sp_spaceused TestCompression   
GO   
-- DATA_COMPRESSION = PAGE   
ALTER TABLE TestCompression   
REBUILD WITH (DATA_COMPRESSION = PAGE);   
GO   
EXEC sp_spaceused TestCompression   
GO   
-- DATA_COMPRESSION = NONE   
ALTER TABLE TestCompression   
REBUILD WITH (DATA_COMPRESSION = NONE);   
GO   
EXEC sp_spaceused TestCompression   
GO 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.

 案例

原文标题:SQL Server 2008行数据和页数据压缩解密

链接: http://www.cnblogs.com/Robin2005/archive/2010/03/05/1678803.html

【编辑推荐】

  1. 图解SQL Server 2008 R2主数据服务安装
  2. 理解SQL Server 2008索引的存储结构
  3. SQL Server 2008 R2十大新特性解析
  4. SQL Server分析服务性能优化浅析
  5. 图解SQL Server 2008安装和配置过程
责任编辑:彭凡 来源: 博客园
相关推荐

2013-03-13 09:53:50

SQL Server

2010-07-14 14:07:50

SQL Server

2011-03-29 13:56:12

SQL Server 数据压缩

2009-06-22 10:22:57

SQL Server

2013-07-22 13:54:32

iOS开发ASIHTTPRequ

2009-03-02 09:29:11

Windows Ser共享资源数据恢复

2023-11-09 09:48:16

数据压缩微服务

2009-02-16 13:21:25

数据挖掘SQL Server SQL Server

2009-04-16 18:25:55

2010-05-13 10:00:10

SQL Server

2013-05-08 10:01:55

SQL Server 数据备份备份与还原

2009-04-16 16:31:04

数据转化数据集成SQL Server

2009-03-31 09:35:27

萨班斯奥克斯利法案数据行安全

2009-07-08 00:24:00

数据压缩Oracle 11g

2010-07-30 09:36:15

StorwizeIBM

2018-05-28 21:51:25

Protocol bu数据存储序列化

2012-04-13 13:26:30

SQL Server

2011-02-21 13:06:42

Microsoft S

2011-08-11 14:23:57

SQL Server 索引分区

2009-03-19 09:30:59

点赞
收藏

51CTO技术栈公众号