【SQL Server性能优化】SQL Server 2008该表压缩
当数据库是比较大的,而当你想备份,我们可以启动数据库备份压缩。这项由于备份文件比较小的压缩,所以整个备份的更快的速度,同时还低了磁盘空间的消耗。
当然还有一方面。肯定会添加cpu的消耗。只是一般的server都是多核。所以实际上对系统不会有大的影响。
事实上。不仅能够在备份的时候压缩,在SQL Server 2008中。我们还能够对表和索引进行压缩,以下通过压缩前、压缩后的比較。来展示SQL Server 2008强大的表及索引的压缩功能。
这里在公司測试数据库找了一个中型的表,共同拥有943万多条记录。
1、压缩前表的大小
SP_SPACEUSED 'TB_WCB' /*
name rows reserved data index_size unused
TB_WCB 9439661 746016 KB 412216 KB 329944 KB 3856 KB
*/
2、压缩表
这里启用的是row 级别的压缩
ALTER TABLE TB_WCB
rebuild
WITH (DATA_COMPRESSION =ROW)
3、压缩后的表大小
SP_SPACEUSED 'TB_WCB' /*
name rows reserved data index_size unused
TB_WCB 9439661 497784 KB 167168 KB 328120 KB 2496 KB
*/
4、表压缩前后的对照
压缩前数据大小是412M(data字段的值就是表数据的大小,而index_size是索引的大小,两者是不同的),而在压缩后是 167M,压缩后表的大小仅仅是原来表的40%,效果非常明显,并且因为这个表中大部分字段仅仅是id,相对而言反复值还不算多的,假设反复值很多其它,那么压缩效果会更好。
可是,我们看到,索引的大小(index_size)基本上没什么变化。于是我们继续进行索引的压缩:
5、压缩索引
alter index IDX_TB_WCB_ID on TB_WCB
rebuild
with(data_compression=row)
6、索引压缩后的对照
SP_SPACEUSED 'MS_VISIT_QST_OPT' /*
name rows reserved data index_size unused
TB_WCB 9439661 317208 KB 167168 KB 149872 KB 168 KB
*/
我们发现,索引压缩前大小是329M。而在压缩后是 149M,压缩比例为45%。效果也非常明显。
总结:
通过表和索引的压缩。我们能够减小表占用的磁盘空间,这个仅仅是一部分,更重要的是,读取相同多的数据,仅仅须要读取更少的数据页,也就是仅仅须要更少的IO。那么读取速度肯定会更快,并且因为占用的空间小了,也能够让很多其它的数根据网页缓存在存储器,进一步提高系统的整体性能。
版权声明:本文博主原创文章。博客,未经同意不得转载。
【SQL Server性能优化】SQL Server 2008该表压缩的更多相关文章
- SQL Server性能优化(8)堆表结构介绍
一.表结构综述 下图是SQL Server中表的组织形式(其中分区1.分区2是为了便于管理,把表进行分区,放到不同的硬盘数据文件里.默认情况下,表只有一个分区.).表在硬盘上的存放形式,有堆和B树两种 ...
- SQL Server 性能优化之——T-SQL 临时表、表变量、UNION
这次看一下临时表,表变量和Union命令方面是否可以被优化呢? 阅读导航 一.临时表和表变量 二.本次的另一个重头戏UNION 命令 一.临时表和表变量 很多数据库开发者使用临时表和表变量将代码分解成 ...
- SQL Server 性能优化实战系列(一)
数据库服务器主要用于存储.查询.检索企业内部的信息,因此需要搭配专用的数据库系统,对服务器的兼容性.可靠性和稳定性等方面都有很高的要求. 下面是进行笼统的技术点说明,为的是让大家有一个整 ...
- SQL Server性能优化(6)查询语句建议
1. 如果对数据不是工业级的访问(允许脏读),在select里添加 with(nolock) ID FROM Measure_heat WITH (nolock) 2. 限制结果集的数据量,如使用TO ...
- SQL Server 性能优化之RML Utilities:快速入门(Quick Start)(1)
SQL Server 性能优化之RML Utilities:快速入门(Quick Start)(1) 安装Quick Start工具 RML(Replay Markup Language)是MS ...
- 【SQL Server性能优化】运用SQL Server的全文检索来提高模糊匹配的效率
原文:[SQL Server性能优化]运用SQL Server的全文检索来提高模糊匹配的效率 今天去面试,这个公司的业务需要模糊查询数据,之前他们通过mongodb来存储数据,但他们说会有丢数据的问题 ...
- SQL Server 性能优化(一)——简介
原文:SQL Server 性能优化(一)--简介 一.性能优化的理由: 听起来有点多余,但是还是详细说一下: 1.节省成本:这里的成本不一定是钱,但是基本上可以变相认为是节省钱.性能上去了,本来要投 ...
- SQL Server 性能优化之——系统化方法提高性能
SQL Server 性能优化之——系统化方法提高性能 阅读导航 1. 概述 2. 规范逻辑数据库设计 3. 使用高效索引设计 4. 使用高效的查询设计 5. 使用技术分析低性能 6. 总结 1. 概 ...
- SQL Server性能优化与管理的艺术 附件下载地址
首先感谢读者们对鄙人的支持,购买了<SQL Server性能优化与管理的艺术>,由于之前出版社的一些疏忽,附件没有上传成功,再次本人深表歉意. 请需要下载附件的读者从下面链接下载,谢谢: ...
- SQL SERVER性能优化综述
SQL SERVER性能优化综述 一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优的任务,也不单单是开发阶段的事情,而是在整个软件生命周期都需要注意,进行有效工作才能达到的.所以我希望按照软 ...
随机推荐
- 通过 Jersey Http请求头,Http响应头,客户端 API 调用 REST 风格的 Web 服务
原地址:http://blog.csdn.net/li575098618/article/details/47853263 Jersey 1.0 是一个开源的.可以用于生产环境的 JAX-RS(RES ...
- 第一个Python程序的Hello Python,竟然有问题
print 'hello python' 运行时显示:SyntaxError: invalid syntax 解决办法: 这应该是版本的问题,Python2的话直接就可以输出,但是到了Python3需 ...
- ArrayList线程不安全?
ArrayList是线程不安全的,轻量级的.如何使ArrayList线程安全? 1.继承Arraylist,然后重写或按需求编写自己的方法,这些方法要写成synchronized,在这些synchro ...
- sql大小转换函数
将字段值转换成大写 UPDATE t SET [name]=UPPER([name]) 将字段值转换成小写 UPDATE t SET [name]=LOWER([name])
- Gradle 修改 Maven 仓库地址(转)
近来迁移了一些项目到Android Studio,采用Gradle构建确实比原来的Ant方便许多.但是编译时下载依赖的网速又着实令人蛋疼不已. 如果能切换到国内的Maven镜像仓库,如开源中国的Mav ...
- linux su,sudo命令
linux su 命令 建议大家切换用户的时候 使用 su - root 这样,否则可能发现某些命令执行不了 关于su .su - 及 sudo的区别 请往下看 1.命令作用 su的作用是变更为其它使 ...
- 在自己的base脚本中实现自动补全
在90年代Linux和DOS共存的年代里,Linux的Shell们有一个最微不足道但也最实用的小功能,就是命令自动补全.而DOS那个笨蛋一直到死都没学会什么叫易用. Linux的这个微不足道的小传统一 ...
- ecshop模板 lbi文件
Ecshop根目录/ |->其它目录|->themes |->例:default (模板项目目录) |->images ...
- Eclipse 快捷键整理
Alt+/:代码提示Ctrl+/:注释/取消注释Ctrl+D:删除光标所在行Ctrl+K:将光标停留在变量上,按Ctrl+K键可以查找到下一个同样的变量Shift+Ctrl+K:和Ctrl+K查找的方 ...
- 世纪互联、微软Azure与无穷小微积分
今年9月25日,世纪互联正式开通微软Azure商用服务,有感. 我是世纪互联创业历程的见证人(之中的一个),现在看到世纪互联推出微软Azure公有云的商用服务,心 ...