【www.lexiangwang.net--数据库】

以下是小编为大家收集的数据库SQLServer2008行数据和页数据压缩解密,仅供参考,欢迎大家阅读。

  1994年,全国计算机等级考试由教育部考试中心推出,计算机等级考试三级最初分A、B类:A类考核计算机应用基础知识和计算机硬件系统开发的初步能力;B类考核计算机应用基础知识和计算机软件系统开发的初步能力。2002年考试中心对等级考试进行调整,将三级考试分为“PC技术”、“信息管理技术”、“数据库技术”和“网络技术”等四个类别,相应地降低了考试难度。2013年考试中心对等级考试再一次进行调整,将三级考试分为“网络技术”,“数据库技术”,“软件测试技术","信息安全技术","嵌入式系统开发技术"等五个类别,从2013年下半年开始实施2013版考试大纲,并首次实现全部科目无纸化考试。“数据库技术”考核数据库系统基础知识及数据库应用系统项目开发和维护的基本技能。

  以下是学习啦小编为大家整理的计算机三级《数据库技术》考前复习重点,供大家参考和学习。

  数据库:SQLServer2008行数据和页数据压缩解密。

  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

本文来源:https://www.lexiangwang.net/jisuanjikaoshi/369350.html