SQL 2008数据仓库可扩展性
2008-09-28 10:06:42 来源:WEB开发网页面(PAGE)压缩是建立于行压缩的基础上的。它存储页面上普遍使用的字节格式,然后将这些值引用给各自的字段,通过这种方法将冗余数据的存储降低到最小。字节格式标识是不受类型约束的。在页面压缩中,SQL Server使用两种技术优化页面使用的空间。
第一项技术叫做列前缀(column prefix)。在这种情景下,系统寻找一个通用字节样式作为页面上特定列中所有数值的一个前缀。表或索引的所有列都重复这个过程。计算得来的这个列前缀值作为一个标记存储,数据或索引将这个标记作为公共前缀参考,如果可能的话,每一个字段都这么做。
第二项技术叫做页面级字典(page level dictionary)。这个字典存储行和列的数值,并存储在一个字典中。然后通过修改列来引用改字典。
压缩伴随着额外的CPU消耗。这是在你对压缩数据进行查询或执行DML操作时产生的。行压缩所消耗的CPU要低于页面压缩,但是页面压缩可以提供更好的压缩比。因为有很多种工作负载和数据格式,所以SQLServer 将压缩粒度确定在分区级别。你可以选择压缩整个表或索引或分区子集。例如,在一个数据仓库中,如果CPU负载是你所关注的重点,另外你还想节省一些磁盘空间,那么就可以在不常被访问到的分区上使用页面压缩,而不压缩经常被访问和操纵的分区。这样既降低了CPU总负载,又节约了磁盘空间。如果I/O性能是你所关注的重点,或者你需要提升可用磁盘空间,那么使用页面压缩来压缩所有数据或许是最好的选择。如果频繁涉及的页面的工作集缓存放在主要内存缓冲池中,那么压缩可以将速度提升好几倍,而如果放在内存中则不可以。对一个用来测试SQLServer 2008的大型内部数据仓库查询性能基准的初步测试结果显示,压缩节省了58%的磁盘空间,平均降低了15%的查询时间,另外CPU的平均消耗提高了20%,一些查询的速度甚至提高了七倍。真实结果将取决于你的工作负载、数据库和硬件。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接