ITPub博客

首页 > Linux操作系统 > Linux操作系统 > SQL Server 2008数据库引擎优化

SQL Server 2008数据库引擎优化

原创 Linux操作系统 作者:iSQlServer 时间:2009-03-09 14:22:28 0 删除 编辑
1、数据库引擎优化顾问概述

  借助 Microsoft SQL Server 数据库引擎优化顾问,您不必精通数据库结构或深谙 Microsoft SQL Server,即可选择和创建索引、索引视图和分区的最佳集合。

  数据库引擎优化顾问分析一个或多个数据库的工作负荷和物理实现。工作负荷是对要优化的一个或多个数据库执行的一组 Transact-SQL 语句。在优化数据库时,数据库引擎优化顾问将使用跟踪文件、跟踪表或 Transact-SQL 脚本作为工作负荷输入。可以在 SQL Server Management Studio 中使用查询编辑器创建 Transact-SQL 脚本工作负荷。可以通过使用 SQL Server Profiler 中的优化模板来创建跟踪文件和跟踪表工作负荷。有关使用 SQL Server Profiler 创建可用作工作负荷的跟踪的信息,请参阅SQL Server Profiler 简介。

  对工作负荷进行分析后,数据库引擎优化顾问会建议您添加、删除、或修改数据库中的物理设计结构。此顾问还可针对应收集哪些统计信息来备份物理设计结构提出建议。物理设计结构包括聚集索引、非聚集索引、索引视图和分区。数据库引擎优化顾问会推荐一组物理设计结构,以降低工作负荷的开销(由查询优化器估计)。

  数据库引擎优化顾问的优化功能

  数据库引擎优化顾问具备下列功能:

  • 通过使用查询优化器分析工作负荷中的查询,推荐数据库的最佳索引组合。 
  • 为工作负荷中引用的数据库推荐对齐分区或非对齐分区。 
  • 推荐工作负荷中引用的数据库的索引视图。 
  • 分析所建议的更改将会产生的影响,包括索引的使用,查询在表之间的分布,以及查询在工作负荷中的性能。 
  • 推荐为执行一个小型的问题查询集而对数据库进行优化的方法。 
  • 允许通过指定磁盘空间约束等高级选项对推荐进行自定义。
  • 提供对所给工作负荷的建议执行效果的汇总报告。 
  • 考虑备选方案,即:您以假定配置的形式提供可能的设计结构方案,供数据库引擎优化顾问进行评估。

  2、数据库引擎优化顾问功能

  据库引擎优化顾问提供了一些新功能。通过这些新功能,无论是初学者还是有经验的数据库管理员都能对数据库进行优化,以获得更好的查询性能。以下各部分列出了数据库引擎优化顾问的新功能,并进行了说明:

  工作负荷分析功能得到改进

  • 处理引用瞬态表(如临时表)的批。 
  • 不会因为它不能分析某事件而终止优化,而是将该事件记录到优化日志中,再继续优化其他事件。 
  • 分析和优化引用用户定义函数的查询。 
  • 处理跟踪中的所有 USE 语句,这些语句在优化多个数据库时必不可少。 
  • 使用工作负荷中的 LoginName 列(如果跟踪工作负荷过程中有此列),以便在执行事件的用户的环境中正确优化该事件。 
  • 优化触发器中的语句。

  可伸缩性增强

  • 使用工作负荷压缩,让数据库引擎优化顾问既可缩短优化所需的时间,又能生成高质量的优化建议结果。 
  • 使用算法以避免生成重复的统计信息,从而减少优化期间发生的 I/O 数量。

  优化集成

  数据库引擎优化顾问可以权衡包括筛选索引在内的各种不同类型的物理设计结构(如索引、索引视图、分区)所提供的性能。不同结构可以在功能上有所重叠,以减少执行任何给定查询时的开销,从而可以考虑对多个设计结构进行集成配置,使数据库引擎优化顾问能够提供质量更高的建议。例如,如果仅考虑对一组表的聚集索引,再考虑对同一组表的水平范围分区,这并不能提供这两种物理结构配合使用时的工作情况。若要了解这两种结构配合使用的情况,优化工具必须执行集成优化。

  优化多个数据库

  应用程序经常要访问多个数据库以完成工作,因此,工作负荷会频繁引用多个数据库中的对象。与 Microsoft SQL Server 2000 中的索引优化向导不同,数据库引擎优化顾问可以同时优化多个数据库。用户可以指定一组要优化的数据库,而数据库引擎优化顾问会为所有选定数据库提出建议。有关此功能的详细信息,请参阅优化多个数据库。

  将优化开销分摊给测试服务器

  优化较大的工作负荷会对所优化的服务器产生很大的开销。这是因为在优化过程中,数据库引擎优化顾问通常需要多次调用查询优化器。除了生产服务器之外,还可以使用测试服务器来消除此问题。

  在这种情况下,您将优化一个测试服务器。测试服务器具备与生产服务器相同的环境。收到优化测试服务器而产生的数据库设计配置建议后,可以在维护期间将该建议应用于生产服务器。

  使用测试服务器的传统方法,是将生产服务器的所有数据复制到测试服务器,再优化测试服务器,然后针对两台计算机的硬件差异调整产生的建议。数据库引擎优化顾问无需将数据复制到测试计算机,也无需两台计算机的硬件相同,就能利用测试服务器,从而节省了时间和资源。数据库引擎优化顾问只将元数据、统计信息和硬件参数从生产服务器导入测试服务器。然后,数据库引擎优化顾问对测试服务器执行大容量优化操作,而您可以在正常维护时将优化结果应用于生产服务器。有关此功能的详细信息,请参阅减轻生产服务器优化负荷。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16436858/viewspace-564917/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-17

  • 博文量
    1319
  • 访问量
    2080610