位置: 编程技术 - 正文

SQL Server 2008中的数据表压缩功能详细介绍(SQL server 2008中的数据库能否只包含数据文件)

编辑:rootadmin

推荐整理分享SQL Server 2008中的数据表压缩功能详细介绍(SQL server 2008中的数据库能否只包含数据文件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sql server 2008使用教程,sql server 2008语句大全,sql server 2008中的权限分为三类,sql server 2008语句大全,SQL server 2008中的数据库能否只包含数据文件,sql server 2008使用说明,sql server 2008中的权限分为三类,sql server 2008中的权限分为三类,内容如对您有帮助,希望把文章链接给更多的朋友!

SQL Server SP2为我们带来了vardecimal功能,当时针对decimail和numeric数据类型推出了新的存储格式--vardecimal。vardecimal存储格式允许 decimal和numeric数据类型的存储作为一个可变长度列。 这项功能使得原来定长的decimal数据在数据文件中以可变长的格式存储,据称这项功能可以为典型的数据仓库节省%的空间,而SQL Server 在这一基础上又进一步增强了数据压缩功能。SQL Server 现在支持行压缩和页面压缩两种选项,数据压缩选项可以在以下对象上启用:

1.未创建聚簇索引的表2.创建聚簇索引的表3.非聚簇索引(对表设置压缩选项不会影响到该表上的非聚簇索引,因此聚簇索引的压缩需要单独设置)4.索引视图5.分区表和分区索引中的单个分区

使用数据压缩的意义:

首先让我们来看看,为什么在存储成本不断降低的今天,微软还要煞费苦心地在SQL Server中实现并且不断改进数据压缩技术呢?

尽管存储成本已经不再是传统意义上的首要考虑因素,但是这并不代表数据库尺寸不是一个问题,因为数据库尺寸除了会影响到存储成本之外,还极大地关联到管理成本和性能问题。

致于为什么会有管理成本的问题?因为数据库需要备份,数据库的尺寸越大,那么备份时间就会越长,当然另外一点就是消耗的备份硬件成本也会随之提高(包括需要的备份介质成本和为了满足备份窗口而需要更高级的备份设备带来的采购成本),还有一种管理成本就是数据库的维护成本,例如我们经常需要完成的 DBCC任务,数据库尺寸越大,我们就需要更多的时间来完成这些任务。

接着我们再看看性能问题。SQL Server在扫描磁盘读取数据的时候都是按照数据页为单位进行读取的,因此如果一张数据页中包含的数据行数越多,SQL Server在一次数据页IO中获得的数据就会越多,这样也就带来了性能的提升。

最后考虑存储的成本,按照原先SQL Server SP2中vardecimal的压缩数据为例,%的空间节省也就意味着%的存储成本,而按照SQL Server 当前放出的测试数据,采用新的数据压缩技术可以达到2X-7X的存储率,再加上如果企业要考虑容灾而增加的存储空间,这样节省的存储硬件成本也将是想当可观的。

使用数据压缩方法:

SQL Server 中的压缩选项可以在创建表或索引时通过Option进行设置,例如:如果需要改变一个分区的压缩选项,则可以用以下语句:如果需要为分区表的各个分区设置不同的压缩选项,可以使用以下的语句:(SQL Server 可以对不同的分区使用不同的压缩选项,这一点对于数据仓库应用是非常重要的,因为数据仓库的事实表通常都会有一个或数个热分区,这些分区中的数据经常需要更新,为了避免数据压缩给这些分区上的数据更新带来额外的处理载荷,可以对这些分区关闭压缩选项)

如果是为某个索引设置压缩选项的话,可以使用:

如果是修改某个索引的压缩选项,可以使用:

SQL Server 同时还提供了一个名为sp_estimate_data_compression_savings存储过程帮助DBA估计激活压缩选项后对象尺寸。

使用数据压缩的原理:

SQL Server 2008中的数据表压缩功能详细介绍(SQL server 2008中的数据库能否只包含数据文件)

对于行压缩,SQL Server 采用以下三种方法来节省存储空间:减少了与记录相关联的元数据开销。此元数据为有关列、列长度和偏移量的信息。在某些情况下,元数据开销可能大于旧的存储格式。

它对于数值类型(例如,integer、decimal和float)和基于数值的类型(例如,datetime和money)使用可变长度存储格式。

它通过使用不存储空字符的可变长度格式来存储定长字符串。对于页面压缩,SQL Server 则是在一张数据页面上依次采用:

1.行压缩2.前缀压缩3.字典压缩

使用数据压缩注意事项:

尽管SQL Server 的数据压缩功能非常有价值,但是仍然需要注意一些问题:数据压缩功能仅在企业版和开发版中可用

数据压缩可以让一张数据页存储更多的数据行,但是并不能改变单行数据最长字节这一限制。

在一张已经设置了数据压缩的表上创建聚簇索引时,聚簇索引默认继承原表上的压缩选项

在未设置聚簇索引的表上设置页面压缩时,只有以下情况才会获得页面压缩的实际效果:

1.数据使用BULK INSERT语法添加到表中2.数据使用INSERT INTO ... WITH (TABLOCK)语法添加到表中3.执行带有页面压缩选项的ALTER TABLE ... REBUILD命令

在未设置聚簇索引的表上更改压缩选项,会导致该表上所有非聚簇索引都需要重建,因为这些非聚簇索引指向的数据行地址已经都发生了改变。

在改变压缩选项时所需要的临时空间大小与创建索引是所需要的空间是一样的,因此对于分区表,我们可以逐个分区设置压缩选项来减少临时空间的需求压力。

由于SQL Server 中数据压缩技术其实是SQL Server SP2中vardecimal技术的一个超集,因此设置了数据压缩后就没有必要保留vardecimal了。当然SQL Server 为了保持向后兼容性,在当前版本中仍然保留了vardecimal,但是SQL Server 的下一个版本及可能就会弃用vardecimal选项,因此做了这些设置的数据库应该尽早改变到数据压缩设置下。

SQL Server 的压缩选项是工作在存储引擎层的,对于SQL Server的其他部件来说这一特性是透明的,因此当我们用BULK LOAD的方式将外面的数据导入SQL Server时,会显著的增加CPU的工作载荷,同时将以压缩的数据表导出到外部文件时,可能会消耗比原来多很多的空间。

相信到了这里,朋友们对于SQL Server 中的数据压缩技术有了一个较为全面的了解。

通过SQL Server 数据库复制实现数据库同步备份 SQLServer数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份。这里的同步备份指的是备份服务器与主

SqlServer 数据库同步的两种方式(发布、订阅使用方法) 上篇中说了通过SQLJOB的方式对数据库的同步,这一节作为上一节的延续介绍通过发布订阅的方式实现数据库之间的同步操作。发布订阅份为两个步骤:1

SQL Server 备份数据库、还原数据库的方法 SQLServer备份数据库:1.打开SQL,找到要备份的数据库,右键任务备份2.弹出[备份数据库对话框],如图:3.点击添加[按钮].如下图:4.选择要备份的路径和备份

标签: SQL server 2008中的数据库能否只包含数据文件

本文链接地址:https://www.jiuchutong.com/biancheng/319173.html 转载请保留说明!

上一篇:SQL Server 2008中的FileStream介绍(sql server 2008简介)

下一篇:通过SQL Server 2008数据库复制实现数据库同步备份

  • 补提企业所得税怎么做账
  • 增值税的免税项目有哪些
  • 劳务发票打款用途写什么
  • 员工工作服怎么做分录
  • 农产品销售发票可以抵扣吗?
  • 建筑企业增值税怎么算
  • 运费客户承担钱销售员垫付冲应收怎么处理?
  • 完工绿化苗木怎样结转成本?
  • 企业用商业汇票支付购货款
  • 酒店筹建是什么意思
  • 固定资产怎么盘点
  • 视同销售可以抵扣销项税吗?
  • 营改增对资产负债表的影响
  • 没有成立工会的企业怎么做账
  • 新成立的公司季报
  • 公司不交增值税对法人有影响吗
  • 移动网络的费用有哪些
  • 分配利润账务处理
  • 烟酒专用发票能抵税吗
  • 股利如何算
  • b4纸张尺寸
  • 租金怎么来计算个税
  • 华为折叠手机mateXs3
  • 不能升级win11的二手电脑值得购买吗
  • 暂估人工成本分录怎么写
  • 单位支付经济补偿金的情形
  • 先征后退的增值税
  • 发票被盗丢失如何处理
  • wifi出现感叹号上不了网怎么办
  • 怎么绕开中介找到房主
  • 无偿受赠房产出售税费
  • staruml教程
  • PHP:mcrypt_cfb()的用法_Mcrypt函数
  • 月末季末年末会计都需要做什么
  • 哪些货物可以享受减免税政策
  • api接口长什么样
  • 利润表利息费用包括哪些科目
  • flask框架入门
  • 工作服计入什么明细科目
  • 税法折旧和会计折扣会计分录
  • 企业盈利不交所得税的办法
  • 结转成本的会计科目
  • 所得税预缴申报表
  • phpcms 标签
  • 费用什么情况下要写报销单呢
  • 年终奖可以税前扣除吗
  • 增值税纳税申报类型有哪些
  • 公司出售子公司股权
  • 累计扣除包括哪些
  • 固定资产的定义是什么?
  • 企业购买随时准备出售的债券
  • 挂靠指的是什么意思?
  • 缴纳车辆购置税有发票吗
  • 债务重组的账务处理和税收差异
  • 给客户赞助怎么写合适
  • 转让证券需要交增值税吗
  • 一般纳税人购进商品的会计分录
  • 管理费用记错了跨年了怎么调整
  • 商业承兑汇票如何开具
  • 增加个税信息怎么增加
  • 财务人员怎么查出发票虚开?
  • 请根据你的了解叙述c++的特点,c++对c有哪些发展
  • sql server高级应用
  • win8系统如何安装软件
  • Windows 2003 SP2 简体中文版下载地址
  • linux系统中的脚本文件一般以什么开头
  • linux深入理解
  • ubuntu 12.04使用QQ截图安装教程
  • win10如何关闭windows安全中心图标
  • Ubuntu 14.04 64位搭建ADT开发环境的方法
  • win10更新后电脑黑屏
  • os x yosemite10.10.4beta2更新了哪些内容 os x yosemite性能增强和bug修复以及下载
  • linux纯文本浏览器
  • Win7中TrustedInstaller.exe进程占用内存高该怎么解决?
  • python程序开发
  • python网络爬虫总结
  • python5.7汉诺塔
  • jquery22插件网
  • 辽宁省国家税务局电话
  • 国税发票真伪查询手机怎么查
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设