数据库引擎优化顾问功能
更新日期: 2006 年 7 月 17 日
数据库引擎优化顾问提供了一些新功能。通过这些新功能,无论是初学者还是有经验的数据库管理员都能对数据库进行优化,以获得更好的查询性能。以下各部分列出了数据库引擎优化顾问的新功能,并进行了说明:
工作负荷分析功能得到改进
- 处理引用瞬态表(如临时表)的批。
- 不会因为它不能分析某事件而终止优化,而是将该事件记录到优化日志中,再继续优化其他事件。
- 分析和优化引用用户定义函数的查询。
- 处理跟踪中的所有
USE
语句,这些语句在优化多个数据库时必不可少。 - 使用工作负荷中的 LoginName 列(如果跟踪工作负荷过程中有此列),以便在执行事件的用户的环境中正确优化该事件。
- 优化触发器中的语句。
可伸缩性增强
- 使用工作负荷压缩,让数据库引擎优化顾问既可缩短优化所需的时间,又能生成高质量的优化建议结果。
- 使用算法以避免生成重复的统计信息,从而减少优化期间发生的 I/O 数量。
优化集成
数据库引擎优化顾问可以权衡各种不同类型的物理设计结构(如索引、索引视图、分区)所提供的性能。不同结构可以在功能上有所重叠,以减少执行任何给定查询时的开销,从而可以考虑对多个设计结构进行集成配置,使数据库引擎优化顾问能够提供质量更高的建议。例如,如果仅考虑对一组表的聚集索引,再考虑对同一组表的水平范围分区,这并不能提供这两种物理结构配合使用时的工作情况。若要了解这两种结构配合使用的情况,优化工具必须执行集成优化。
优化多个数据库
应用程序经常要访问多个数据库以完成工作,因此,工作负荷会频繁引用多个数据库中的对象。与 Microsoft SQL Server 2000 中的索引优化向导不同,数据库引擎优化顾问可以同时优化多个数据库。用户可以指定一组要优化的数据库,而数据库引擎优化顾问会为所有选定数据库提出建议。有关此功能的详细信息,请参阅优化多个数据库。
将优化开销分摊给测试服务器
优化较大的工作负荷会对所优化的服务器产生很大的开销。这是因为在优化过程中,数据库引擎优化顾问通常需要多次调用查询优化器。除了生产服务器之外,还可以使用测试服务器来消除此问题。
在这种情况下,您将优化一个测试服务器。测试服务器具备与生产服务器相同的环境。收到优化测试服务器而产生的数据库设计配置建议后,可以在维护期间将该建议应用于生产服务器。
使用测试服务器的传统方法,是将生产服务器的所有数据复制到测试服务器,再优化测试服务器,然后针对两台计算机的硬件差异调整产生的建议。数据库引擎优化顾问无需将数据复制到测试计算机,也无需两台计算机的硬件相同,就能利用测试服务器,从而节省了时间和资源。数据库引擎优化顾问只将元数据、统计信息和硬件参数从生产服务器导入测试服务器。然后,数据库引擎优化顾问对测试服务器执行大容量优化操作,而您可以在正常维护时将优化结果应用于生产服务器。有关此功能的详细信息,请参阅减轻生产服务器优化负荷。
命令提示实用工具和图形用户界面工具
数据库引擎优化顾问提供以下两种用户界面:
- dta 命令提示实用工具,可以通过编写脚本轻松组合数据库引擎优化顾问的功能。
- 数据库引擎优化顾问图形用户界面 (GUI) 工具,可以轻松查看优化会话和结果。
仅删除优化
数据库中的物理设计结构会随时间积累,数据库管理员需要一种删除无用结构的方法。使用仅删除优化选项,可以确定那些不再使用,或对给定工作负荷用处甚少的现有物理设计结构。在使用 dta 命令提示实用工具时,可以使用 –fx 参数来指定此优化选项。如果使用的是 GUI,则可以在**“优化选项”选项卡中选中“仅评估现有 PDS 的使用率”**,以指定此选项。
如果选择此选项,数据库引擎优化顾问将永不建议任何新结构。因此,此选项不能与添加索引、索引视图或分区的其他选项一起使用。仅删除优化选项也不能与保存全部现有结构的选项一起使用。有关可用于数据库引擎优化顾问的优化选项的详细信息,请参阅可用的优化选项。
XML 支持
可以在数据库引擎优化顾问 XML 输入文件中,定义可使用数据库引擎优化顾问 GUI 以及 dta 命令提示实用工具执行的所有优化操作。XML 输入文件使用已发布的数据库引擎优化顾问 XML 架构,该架构可以在 Microsoft SQL Server 2005 安装目录的以下位置中找到:
C:\Program Files\Microsoft SQL Server\90\Tools\Binn\schemas\sqlserver\2004\07\dta\dtaschema.xsd
您还可以从 Microsoft 网站上的数据库引擎优化顾问架构下载该架构。
通过使用 XML 输入文件,您可以在优化数据库时使用常用的 XML 工具,有经验的数据库管理员可以有更大的灵活性。例如,使用 XML 输入文件,您可以指定现有的和假设的物理设计结构(索引、索引视图、分区)的配置,然后,可以按应用了此配置的情况,使用 dta 命令提示实用工具优化数据库。这可以实现假设分析,又不会在优化前产生实施新配置的开销。有关数据库引擎优化顾问 XML 支持的详细信息,请参阅 XML 输入文件参考 (DTA)、使用 XML 输入文件进行优化和使用数据库引擎优化顾问进行探索性分析。
用户指定的配置和假设分析支持
使用数据库引擎优化顾问,用户可以提供物理设计结构(索引、索引视图和分区策略)的假设配置作为优化输入。然后,可以按已经应用了该配置的情况,优化一个或多个数据库。这样一来,您就可以在发生应用这些结构产生的开销之前,对一组特定物理设计结构组作出假设分析。数据库引擎优化顾问 XML 架构完全支持此功能。可以在 XML 输入文件中指定希望处理的配置,然后使用 dta 命令提示实用工具启动优化会话。有关此功能的详细信息,请参阅使用数据库引擎优化顾问进行探索性分析。
分析报告
优化会话完成后,数据库引擎优化顾问将以文本格式或 XML 格式生成若干分析报告。这些报告提供的信息包括工作负荷中发生的查询开销、工作负荷中事件的发生频率以及查询及其引用的索引之间的关系等。可以使用数据库引擎优化顾问 GUI 查看报告,也可以使用常用的 XML 编辑器打开以 XML 格式生成的报告。有关数据库引擎优化顾问生成的分析报告的详细信息,请参阅选择数据库引擎优化顾问报告。
优化会话
在开始分析前,数据库引擎优化顾问会提示您创建一个唯一的名称或编号,来标识优化会话。完成工作负荷分析或停止分析后,数据库引擎优化顾问将保存优化会话信息,并将其与开始优化前提供的标识符关联起来。您可以使用会话标识符将现有会话重新载入数据库引擎优化顾问 GUI,在此可以查看优化结果和报告。使用优化会话可以轻松比较各个时间段的会话结果。有关使用优化会话的详细信息,请参阅使用会话监视器评估优化建议。
使用 dta 实用工具时才可用的功能
使用数据库引擎优化顾问 GUI 时,以下各部分中列出的优化选项当前不可用。
在命令提示符下或使用 XML 输入文件时
在命令提示符下运行 dta 实用工具时,或通过使用 -ix 命令提示符参数将 XML 输入文件用于该实用工具时,您可以指定:
- 优化日志名称(-e 命令提示符参数,或 TableName 元素)。
- 要优化的事件数(-n 命令提示符参数,或 NumberOfEvents 元素)。
- 由数据库引擎优化顾问推荐的索引中的最大键列数(-c 命令提示符参数,或 MaxKeyColumnsInIndex 元素)。
- 数据库引擎优化顾问对推荐的配置提出的最小改进(-m 命令提示符参数,或 MinPercentageImprovement 元素)。
使用 XML 输入文件时
除了上述功能之外,在将 XML 输入文件与 dta 实用工具一起使用时,还可以:
- 使用测试服务器/生产服务器方案,其中包括在测试服务器上创建 shell 数据库(TestServer 元素)。
- 在 XML 输入文件中指定工作负荷内联(EventString 元素)。
- 忽略工作负荷中的常量(IgnoreConstantsInWorkload 元素)。
在命令提示符下
除了上述功能之外,在命令提示符下运行 dta 实用工具时,还可以:
- 指定静默模式,实用工具在该模式下运行时不显示任何反馈消息(-q 命令提示符参数)。
- 优化并自动应用优化建议(-a 命令提示符参数)。
请参阅
其他资源
dta 实用工具
使用 XML 输入文件进行优化
减轻生产服务器优化负荷
帮助和信息
更改历史记录
发布日期 | 历史记录 |
---|---|
2005 年 12 月 5 日 |
|