技术开发 频道

SQL Server 2008 性能与性能优化

【IT168 技术文档】
SQL Server 2008性能与性能优化

SQL Server 技术文档

作者:Ann Weber (内容主管)
技术审核员:Michael Raheem 和Niraj Nagrani
项目编辑:Joanne Hodgins

导言

现今的公司需要易访问且可用性好的商业数据,以便他们可以在全球市场中获得一席之地。与易访问数据的这个需求相呼应,关系数据库和分析数据库在规模方面继续发展,内嵌数据库和许多产品一起出现,并且许多公司将服务器合并来减轻管理工作。当公司的数据环境在规模和复杂度方面持续发展的同时,他们必须维护非常好的的性能。

这篇白皮书描述了SQL Server 2008的性能和扩展能力,并解释了你可以怎样使用这些功能来实现:
使用可用于数据库引擎、分析服务、报表服务和集成服务的工具和功能来优化任何规模的数据库性能。
扩展你的服务器来充分利用新的硬件能力。
扩展你的数据库环境来优化响应速度并使你的数据更易于用户访问。
 
使用SQL Server 2008优化性能

由于公司数据在规模和复杂度方面继续发展,你必须采取行动来提供非常好的的数据访问时间。SQL Server 2008包括许多特性和增强的功能来优化所有方面的性能,包括关系型联机事务处理(OLTP)数据库;联机分析处理(OLAP)数据库;报表;数据抽取、转换和加载(ETL)处理。

关系型数据库的性能

在大多数商业环境中,关系型数据库是业务关键应用程序和服务的核心所在。随着数据量的增长,以及依赖于关系数据存储的用户和应用程序数目的增长,公司必须能够确保他们的数据系统具有一致的性能和响应。SQL Server 2008提供了一个强大的数据库引擎,它支持大型关系数据库和复杂的查询处理。

可测量的实际性能

SQL Server 2008建立在之前SQL Server 版本的行业领先的性能之上,给你的公司提供了较高级的标准数据库性能。使用事务处理性能委员会的TPC-C基准示范了SQL Server 的高性能,Microsoft是第一个发布更新的TCP-E基准结果的数据库销售商,这更精确地表现了现在公司里普遍存在的OLTP工作负载的种类。

此外,SQL Server 通过一个创记录的3GB的TPC-H结果显示了它对大范围的数据仓库工作量的执行能力,这表明了SQL Server 2008基础的扩展能力和性能。

高性能的查询处理引擎

SQL Server 的高性能查询处理引擎帮助用户将他们的应用程序性能提高到最大。这个查询处理引擎评估查询,并产生基于动态维护的、关于索引和密钥选择及数据量统计的非常好的查询执行计划。你可以在SQL Server 2008中锁定查询计划以确保普通查询执行时的稳定性能。查询处理引擎还可以利用多核或多处理器系统,并生成能够利用并行性进一步提高性能的执行计划。

一般情况下,在查询性能方面最大的瓶颈是磁盘I/O。SQL Server的动态缓存能力降低了对物理磁盘的访问次数,并且查询处理引擎使用预读取扫描来预测一个给定的计划所需的数据页面,并预先将它们读取到缓存里,这可以显著地提高整个性能。另外,SQL Server 2008支持本地数据压缩,从而可以降低必须读取的数据页面的数量,并提高了I/O 工作负载的性能。

SQL Server 2008支持表和索引的分割,这使得管理员可以将同一个表或索引分配到单独的物理存储设备上,从而通过多个文件组来控制数据的物理存放位置。在SQL Server 2008中针对查询处理引擎的优化使得它可以并行地访问分区数据,并显著提高了性能。

性能优化工具

SQL Server 2008包含SQL Server Profiler 和Database Engine Tuning Advisor。通过使用SQL Server Profiler,你可以捕捉应用程序典型负载中所发生的事件,然后在Database Engine Tuning Advisor 中将这些事件重现,从而针对数据的索引和分区生成相应建议,这样你就可以优化应用程序的性能了。

在创建了最适合你的应用程序的工作负载的索引和分区之后,你可以使用SQL Server Agent来制定一个自动的数据库维护计划。这个自动的维护会定期的重新组织或重建索引,并更新索引和选择统计,以确保当数据插入和修改你的数据库的物理数据页面片段时一直提供非常好的的性能。
 

0
相关文章