博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
优化SqlServer--数据压缩
阅读量:6507 次
发布时间:2019-06-24

本文共 1237 字,大约阅读时间需要 4 分钟。

 数据压缩是对存储和性能优势的加强。减少数据库占用的磁盘空间量将减少整体数据文件存储空间,在一下几个方面增加吞吐量:

     1.更好的I/O利用率,每个页面可以读写更多的数据。

     2.更好的内存利用率,缓冲区可以缓存更多的数据。

     3.减少页面的闭锁,每个页面可以包含更多数据。

     由于数据压缩必须考虑I/O 和CPU之间的平衡,压缩和解压缩都需要CPU处理。因此数据压缩对于旧数据和不经常查询的数据更有意义。

    这里我们主讨论两种压缩:一是行压缩;二是页面压缩。

    行压缩:压缩可以改变格式的存储固定值数据类型--也就说包含一个字节的值的4字节列可以压缩为1字节,1字节的列不能再压缩,但是null和0值不占字节。

    语法: 创建 create table 表名()with (DATA_COMPERSSION=ROW)

              添加 ALTER TABLE 表名 REBUILD with (DATA_COMPERSSION=ROW)

    页面压缩:页面压缩在实现行压缩的前提下,还实现了两种压缩,一是前缀压缩(对于每个页面和列来说前缀值都是相同的,可用来减少存储的需求,通过引用来取代重复的前缀);二是字典压缩(搜索页面中的重复值,这被对CI的引用取代)。

      语法: 创建 create table 表名()with (DATA_COMPERSSION=PAGE)

              添加 ALTER TABLE 表名 REBUILD with (DATA_COMPERSSION=PAGE)

   估计节省空间:语法 sp_estimate_data_compression_savings

                             [@schema_name=]--架构名称

                            ,   [@object_name=]--有索引的表或者索引视图的名称。

                            ,   [@index_name=]--索引ID号

                              ,   [@partition_number=]--对象分区号,null表示非分区

                              ,   [@data_compression=] --压缩类型(none\row\page)

                             [;]

         监控数据压缩:windows性能监视的sqlserver:access method 对象中有两个计数器:

         Page compression attempts/sec:计算每秒进行页面压缩尝试的次数;

         Pages compressed/sec:计算每秒压缩的页面数。

      最后还要注意数据压缩的注意事项:

        1.启用和禁用表或群集索引压缩会重构所有费群集索引。

        2.不能在稀疏列中使用压缩。

        3.超出行的LOB 不能压缩。

        4.索引中的非叶子也只能使用行压缩进行压缩。

        5.非群集索引不继承标的压缩设置。

        6.再删除群集索引时,表将保持这些压缩设置。

        7.除非特别指定,创建群集索引将继承表的压缩设置。

      总结: 我们已经了解了基本的使用方式和一些注意事项,通过压缩实现高性能的数据库系统。同时我们还要兼顾一些硬件成本,最后我们还要注意的是对于高可用性系统,改变压缩设置可能会产生额外的事务日志操作。

 

 

       

  

     

 

转载地址:http://kjwfo.baihongyu.com/

你可能感兴趣的文章
机器学习数学基础知识备忘
查看>>
HDFS开发中的一些问题(逐步补充)
查看>>
虚基类&虚继承
查看>>
SRM 670 div2 A B C div1 A(贪心,子问题合并)
查看>>
css 一些常用属性总结
查看>>
泛在电力物联网有项核心技术 你听过没有?
查看>>
构造函数
查看>>
webapi支持跨域访问
查看>>
如何学习FPGA
查看>>
IPS简单使用方法
查看>>
第八次作业
查看>>
[转载] Discrete Mathematics——02 命题逻辑等价与联接词完备
查看>>
核心动画——弹簧动画二
查看>>
db2 基础语法
查看>>
“box-shadow”属性(转)
查看>>
个人站点的日期查询
查看>>
flv FLV帧全面分析。研究心得。 视频帧结构
查看>>
php生成图片注释
查看>>
C# MVC EF框架 用事务
查看>>
jQuery基础一
查看>>