18、数据库维护全攻略:压缩、索引与DBCC命令详解

数据库维护全攻略:压缩、索引与DBCC命令详解

1. 数据压缩技术

1.1 行压缩(Row Compression)

行压缩通过将所有固定长度的数据类型(包括数字数据类型)存储为可变长度来减少磁盘空间。这样可以减小每一行的大小,使每页能容纳更多行。行压缩使用压缩元数据来描述行内每个值的偏移量。

不过,并非总能实现空间节省。例如,当固定长度数据类型列中存储的值占用了列的全部长度时,就无法节省空间。实际上,在这种情况下,由于仍需将压缩元数据写入页面,会使用更多空间。

行压缩对一些最小的数据类型(如tinyint、smalldatetime、date和uniqueidentifier)没有影响,对已经以可变长度存储的数据类型(如varchar、nvarchar和varbinary)也没有影响。特殊数据类型(如text、image、xml、table、sql_variant和cursor)不受行级压缩影响。bit数据类型总是受到负面影响,因为加上元数据开销,它需要4位存储空间,而通常最多8位的列只需要1字节。

1.2 页压缩(Page Compression)

页压缩对每个数据页应用以下压缩技术:
- 行压缩
- 前缀压缩(Prefix Compression)
- 字典压缩(Dictionary Compression)

当数据页满时,这些技术会按顺序应用。这就是为什么页压缩对写入性能有很大负面影响。页压缩在节省空间方面比行压缩更进一步。启用页压缩时,行压缩会自动启用。

前缀压缩会识别每列中的重复值,并将重复值存储一次到页面头部的压缩信息(CI)结构

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值