SqlServer性能优化 通过压缩与计算列提高性能(十一)

网友投稿 287 2022-09-04

SqlServer性能优化 通过压缩与计算列提高性能(十一)

压缩:

1.压缩的对象

1.表   2.索引(非聚集索引手工做)   3.备份(手工做)

2.对性能影响

1.提高IO性能     2.降低CPU性能

行压缩:

1.对null值不占用空间

2.对Numeric值不占用空间

页压缩:

1.行压缩

2.前缀压缩

3.字典压缩

实例:

准备表数据:

select * from SalesOrderDetailselect * into ComOrderDetail from SalesOrderDetailsp_spaceused 'ComOrderDetail'--data:4696k

磁盘io:

set statistics io on select * from ComOrderDetail --0.57set statistics io off

压缩:

alter table ComOrderDetail rebuild partition=all with(data_compression=page)

压缩后表空间的使用情况:

-- 表空间的使用情况 sp_spaceused 'ComOrderDetail' --data:1376k

对非聚集索引的压缩:

持久化的计算列:

create table computetable(c1 int,c2 int,c3 as (c1+c2)*50) declare @n int set @n=1 while @n<50000 begin insert computetable values(@n,@n+1) set @n=@n+1 end sp_spaceused 'computetable' --data:1608 KB --cpu 的情况set statistics time on select * from computetable --0.57set statistics time off

create table computetable(c1 int,c2 int,c3 as (c1+c2)*50 persisted) declare @n int set @n=1 while @n<50000 begin insert computetable values(@n,@n+1) set @n=@n+1 end sp_spaceused 'computetable' --data:1608 KB 1824kb --cpu 的情况set statistics time on select * from computetable set statistics time off

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:只允许输入中文,数字,或者英文,数字
下一篇:ERP系统上传文档信息下载(十八)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~