使用表压缩的缺点

LON*_*ONG 4 sql t-sql sql-server sql-server-2008

使用表压缩是否有任何缺点,例如Row compressionPage compression,例如:

ALTER TABLE A
REBUILD WITH (DATA_COMPRESSION = PAGE)  --or ROW
Run Code Online (Sandbox Code Playgroud)

如果上面的命令可以利用 sql 查询的性能,为什么我们不在每次创建新表时都使用它,即使它可能不会影响数据页很少的表。

使用这个有什么缺点吗?

谢谢

总结:在这里查看@paulbarbin 的答案或查看本文的结论部分

正如我们所见,行级和页级压缩是一种强大的工具,可以帮助您减少数据占用的空间并提高执行速度,但以 CPU 时间为代价。这是因为对行或页的每次访问都需要一个步骤来撤消压缩(或计算和匹配哈希),这直接转化为计算时间。因此,在部署行级或页级压缩时,请进行一些类似的测试(欢迎您使用我的框架!)并查看它在您的测试环境中的表现。您的结果应该为您的决定提供信息 - 如果您已经受 CPU 限制,您能否负担得起部署它?如果您的存储着火了,您能承受不起吗?

小智 5

压缩确实会带来开销。完成压缩需要额外的 CPU,基于压缩的限制,您可能会发现收益小于痛苦。但是,据我所知,大多数人在大多数情况下都受益于页面压缩,并在特定情况下使用行压缩。我会说在您的开发/测试环境中尝试它,确定您的 CPU 成本和查询节省,并在有意义时实施。