【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性能优化综述 一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优的任务,也不单单是开发阶段的事情,而是在整个软件生命周期都需要注意,进行有效工作才能达到的.所以我希望按照软 ...
随机推荐
- LNK1207: incompatible PDB format in********
LNK1207: incompatible PDB format in******** VC中错误:LINK : fatal error LNK1207: incompatible PDB forma ...
- tomcat压缩优化和缓存策略
tomcat压缩内容 tomcat的压缩优化就是将返回的html页面等内容经过压缩,压缩成gzip格式之后.发送给浏览器,浏览器在本地解压缩的过程. 对于页面量信息大或者带宽小的情况下用压缩方式还是蛮 ...
- VMware workstation 安装错误提示1021解决方法
Failed to create the requested registry key Key: Installer Error: 1021 解决方法:删除注册表--HKEY_LOCAL_MACHIN ...
- 21天教你学会C++
- Eclipse怎么显示行号,定位某行
Eclipse怎么显示行号,定位某行 设置显示行号 1 快捷键:Ctrl+F10,点击'Show Line Numbers'即可. 如果取消显示行号,也可以按这个快捷键,然后再点击show line ...
- Visual Studio跨平台开发实战(1) - Hello Xamarin!
原文 Visual Studio跨平台开发实战(1) - Hello Xamarin! 前言 应用程式发展的脚步, 从来没有停过. 从早期的Windows 应用程式, 到网路时代的web 应用程式, ...
- php函数serialize()与unserialize() 数据序列化与反序列化
php函数serialize()与unserialize()说明及案例.想要将已序列化的字符串变回 PHP 的值,可使用unserialize().serialize()可处理除了resource之外 ...
- Android Ant 和 Gradle 打包流程和效率对照
一.Ant 打包:(下载ant.配置环境变量就不说了) 1.进入命令行模式,并切换到项目文件夹.运行例如以下命令为ADT创建的项目加入ant build支持: android update proje ...
- PageRank算法MapReduce实现
如果你现在需要计算网页的排名只有4一:数据如下面的: baidu 10.00 google,sina,nefu google 10.00 baidu sina 10.00 google nefu 10 ...
- Zabbix的数据表结构
看到Zabbix的数据表结构吧,就知道数据量大了 性能问题很让人担忧,不过基于Zabbix数据库导出报表,或自动跑报表的时候,就必须去了解一下zabbix的数据表结构了,得知道XX放在哪才能找到XX, ...