none
关于SQLSERVER2008的数据压缩,请教几个问题,谢谢! RRS feed

  • 问题

  • 如果数据类型没有char的,只有其他类型和varchar的,是不是没有必要做row数据压缩了?只做page数据压缩就可以了?还是必须先做row压缩才能做page数据压缩?
    2018年8月15日 1:07

答案

  • Hi Tim-2009,

    varchar确实是不会影响Row Compression,但是支持压缩的不仅仅只有char,你可以参考一下这个文档:https://docs.microsoft.com/en-us/sql/relational-databases/data-compression/row-compression-implementation?view=sql-server-2017

    另外,行压缩是对于数值类型(例如, integer、 decimal和 float)和基于数值的类型(例如, datetime 和 money)使用可变长度存储格式。使用页压缩压缩表和索引的叶级别的过程由按以下顺序进行的三个操作组成:行压缩,前缀压缩,字典压缩,页压缩也会调用行压缩。

    还有一种压缩是COMPRESS压缩,使用的GZIP算法。这个类似于压缩文件的算法。

    Best Regards,
    Teige



    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.



    2018年8月15日 6:57
    版主

全部回复

  • 压缩不是压缩空白,是像 ZIP 类似的压缩算法压缩数据
    可以通过 sp_estimate_data_compression_savings  预先评估压缩效果,从而确定是否要压缩以及选择那种压缩方法
    2018年8月15日 3:20
  • Hi Tim-2009,

    varchar确实是不会影响Row Compression,但是支持压缩的不仅仅只有char,你可以参考一下这个文档:https://docs.microsoft.com/en-us/sql/relational-databases/data-compression/row-compression-implementation?view=sql-server-2017

    另外,行压缩是对于数值类型(例如, integer、 decimal和 float)和基于数值的类型(例如, datetime 和 money)使用可变长度存储格式。使用页压缩压缩表和索引的叶级别的过程由按以下顺序进行的三个操作组成:行压缩,前缀压缩,字典压缩,页压缩也会调用行压缩。

    还有一种压缩是COMPRESS压缩,使用的GZIP算法。这个类似于压缩文件的算法。

    Best Regards,
    Teige



    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.



    2018年8月15日 6:57
    版主