100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > SQL Server 的新压缩特性

SQL Server 的新压缩特性

时间:2023-02-15 17:07:58

相关推荐

SQL Server 的新压缩特性

数据库|mysql教程

SQL,Server,,新压缩,压缩,特性,关于,S

数据库-mysql教程

淘宝采集源码,编辑vscode插件,ubuntu 返回上一层,ntlm tomcat,sqlite产生乱码,香港服务器百度云,上传头像插件手机软件,前端怎么修改框架,php 网络爬虫抓取图片,php入门软件,seo网站推广的目的,微博钓鱼网站源码,子网页代码大全,oa办公html模板,免费jsp页面,实验室仪器管理系统,java 经典程序lzw

关于 SQL Server压缩 的故事,最早是从SQL Server 开始的,在企业版和开发版中增加了一种叫做vardecimal的新存储格式,这个表级的选项会影响到decimal和numeric字段。当对值的精度要求低于字段可用精度,如在一个decimal(18,9)类型的字段中存储1.5这个数

纷答源码,vscode更新后变英文,ubuntu基本用法,tomcat的书初学,爬虫库gif,php tcp长连接,淘宝seo搜索排名优化,视频播放网站开源,dede微电影模板lzw

android fps源码,ubuntu安装卡在开始,Tomcat心得体会,爬虫相关术语,php如何生成pdf,百度seo一般多少钱lzw

关于SQL Server压缩的故事,最早是从SQL Server 开始的,在企业版和开发版中增加了一种叫做vardecimal的新存储格式,这个表级的选项会影响到decimal和numeric字段。当对值的精度要求低于字段可用精度,如在一个decimal(18,9)类型的字段中存储1.5这个数值时,存储上就需要有相应的压缩。从效果上来看,它就是一个varchar类型的数字型版本。

SQL Server 所包含的已远不止这些小技巧,Chad Boyd写到 :

行级压缩将大幅减少元数据所需的变量长度,较以前每个字段需要花费2个字节来存储,现在只要仅仅3个位。字段本身现在也变得更小,在整型字段中存储像1这样的数值,只需要一个字节,而大数值则最多只需要4个字节。

行级压缩则允许在行间共享共有数据。Chad首先谈到的两种技术就是列前缀和页字典:

假设你在一页的数据行中有一列数据有这些值:‘Chad’、‘Chadwick’、‘Chadly’、‘Chad’、‘Chadster’、‘Chadwick’和‘Chadly’(故意重复的数值)――正如你所见,有相当多的冗余‘前缀’数据在这一页的同一列的不同行中,是吧?因此,你最终可能会想到这样的一个场景:将列的前缀‘Chad’存储在CI结构中,每一个列的最后都指向这个前缀值,最后出现在磁盘上的值会像这样:‘’,‘1wick’,‘1ly’,‘1ster’,‘1wick’和‘1ly’。

所以,对于上述例子中的含有Chad的同列数值,在经过对“列前缀”值进行计算和存储后,你可能得到一个会含有如‘1ly’和‘1wick’这些值的页字典,而真正行内数值则极有可能看上去像这样:‘’、‘2’、‘3’、‘’、‘1ster’、‘3’和‘2’。通过这种方式,我们让原本需要大约25个字节来存储的行数据,减少到只要大约17个字节来存储,节省30%以上。

每一个页都是单独压缩的,前缀和字典也存储在页内。由于页是存储分配的原子单位,将半页压缩到四分之一页是没有任何意义的,所以,只有在页的内容快满的时候才会开始压缩处理。

在使用行和页压缩时还有一个性能权衡问题,因为CPU使用率会上升,但I/O使用率和内存占用会下降。

Backup Compression是的另一个特性,它是通过普通的文件系统型压缩技术实现的,对于给定的数据库,只有启用或者禁用,没有其它可调节选项。

尽管非企业版服务器可以恢复带压缩的备份,但这所有的压缩选项极有可能成为企业版专享选项。

查看英文原文:New Compression Features in SQL Server

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。