壓縮:
1.壓縮的對象
1.表 2.索引(非聚集索引手工做) 3.備份(手工做)
2.對性能影響
1.提高IO性能 2.降低CPU性能
行壓縮:
1.對null值不占用空間
2.對Numeric值不占用空間
頁壓縮:
1.行壓縮
2.前綴壓縮
3.字典壓縮
實例:
准備表數據:
select * from SalesOrderDetail select * into ComOrderDetail from SalesOrderDetail sp_spaceused 'ComOrderDetail'--data:4696k
磁盤io:
set statistics io on select * from ComOrderDetail --0.57 set 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.57 set 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

