原文地址:
原文作者:pinal dave
今天,我们将看到一些简单的事儿也可以对性能产生巨大影响。最近,我在客户端中实现了数据压缩。让我们讨论一下如何在sqlserver中估算压缩。
sqlserver中有两种不同类型的压缩广受欢迎,(1)页面压缩 (2)行压缩。
两种压缩
如果一张表的数据读取量大,但更新次数较少,可以选择页面压缩。如果表更新频繁,则推荐使用行压缩。通常,我曾经见到的页面压缩比行压缩效率更高,不过,这也取决于数据是怎样的以及系统是怎样设置的。
数据压缩–该不该使用?
我经常收到的问题答案是应该选择压缩。好吧,答案很简单。如果需要节省空间,可以继续进行数据和索引压缩。与写入磁盘的非压缩数据相比,压缩表和索引占用的cpu周期更多。这意味着,如果有cpu压力,压缩将进一步降低性能。
估算压缩
我们可以使用以下脚本轻松估算数据表或索引的压缩。
1. 页面压缩估算
exec sp_estimate_data_compression_savings
@schema_name = 'production',
@object_name = 'workorder',
@index_id = null,
@partition_number = null,
@data_compression = 'page';
2. 行压缩估算
exec sp_estimate_data_compression_savings
@schema_name = 'production',
@object_name = 'workorder',
@index_id = null,
@partition_number = null,
@data_compression = 'row';
当你检查估算值以后,且没有cpu压力问题的情况下,则可以通过运行以下脚本轻松启用压缩。
启用压缩
1. 启用页面压缩
alter table production.workorder rebuild partition = all
with (data_compression = page);
go
2. 启用行压缩
alter table production.workorder rebuild partition = all
with (data_compression = row);
go
3. 禁用数据压缩
alter table production.workorder rebuild partition = all
with (data_compression = none);
go
请记住你可以为数据表或索引选择任何一种压缩。但不能同时用这两种压缩。
让我知道你对这篇博客的看法。如果你们想继续关注,我也可以在youtube频道上创建一个关于此主题的视频-
相关可参考作者个人米乐app官网下载主页:
最后修改时间:2022-04-30 15:03:28
【米乐app官网下载的版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。