WEB开发网
开发学院数据库MSSQL Server Sql Server性能优化——Compression 阅读

Sql Server性能优化——Compression

 2010-01-19 00:00:00 来源:WEB开发网   
核心提示:执行SQL查询时,主要的几个瓶颈在于:CPU运算速度、内存缓存区大小、磁盘IO速度,Sql Server性能优化——Compression,而对于大数据量数据的查询,其瓶颈则一般集中于磁盘IO,‘1b.html’,‘1c.html’,以及内存缓存,那么为了提高SQL查询的

执行SQL查询时,主要的几个瓶颈在于:CPU运算速度、内存缓存区大小、磁盘IO速度。而对于大数据量数据的查询,其瓶颈则一般集中于磁盘IO,以及内存缓存。那么为了提高SQL查询的效率,一方面我们需要考虑尽量减少查询设计的数据条目数——建立索引,设立分区;另一方面,我们也可以考虑切实减少数据表物理大小,从而减少IO大小。

在SQL Server 2008中,最新提供了一项功能“压缩(Compression)”,就是定位于减少数据表、索引物理大小。

设置压缩

在企业管理器中,在需要压缩的表或索引上右键选择Storage-》Manage Compression:

Sql Server性能优化——Compression

这里可以看到几点:

下方列表里列出了该表所有的分区,也就是可以同一张表的不同分区应用不同的压缩策略。

压缩方式(Compression Type)分为Row和Page两种。

行级压缩(Row):

一方面减少了动态长度字段元数据的大小(varchar、varbinary等),比如之前存储字段实际长度需要2bytes,压缩后只需要3bits。

另一方面也直接减少各字段存储内容的大小,比如存储数值1在一个int类型字段中,压缩后只占用了一个字节。

页级压缩(Page):

能在各行间共享相同的数据,这里面包含两项技术:列前缀(Column Prefix)、页字典(Page Dictionary)。

列前缀

可以让拥有同样前缀的字段值拥有类似外键一样的结构来存储相同的前缀和各自的其余部分。比如一张存储了一个网站所有页面URL的表,URL字段存储的值分别是‘www.example.com/a.html’,‘www.example.com /b.html’,‘www.example.com/c.html’,‘www.example.com/d.html’。则压缩后,它们同样的前缀 ‘www.example.com/’会被提取出来,而其余部分会被类似如下的形式存储 ‘1a.html’,‘1b.html’,‘1c.html’,‘1d.html’。

1 2  下一页

Tags:Sql Server 性能

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接