了解优化进度

您可以在数据库引擎优化顾问图形用户界面 (GUI) 和 dta 命令提示实用工具中监视优化进度。监视优化进度可以帮助您确定您使用的工作负荷是否有效,还可以帮助您确定问题,从而避免浪费大量的时间。以下各节介绍了如何在两个用户界面中监视工作负荷。本主题还介绍了使用不同类型的工作负荷时数据库引擎优化顾问优化事件的顺序。

使用图形用户界面监视优化进度

使用数据库引擎优化顾问图形用户界面 (GUI) 开始分析工作负荷时,应用程序将在**“进度”**选项卡中自动显示优化进度。此选项卡式页面由三个窗格组成。顶部窗格显示随优化会话进度更改的动画图形和值。中间窗格包含有关优化进度的详细信息。底部窗格显示随优化进度定期刷新的优化日志,以便您可以监视会话。

如果要在工作负荷未完全处理时停止数据库引擎优化顾问,请单击工具栏中的**“停止分析”**。会话停止后,数据库引擎优化顾问将生成对于已处理的工作负荷量而言可能的最佳建议。

注意注意

优化不仅限于处理工作负荷。在数据库引擎优化顾问处理完工作负荷之后,它将对查询进行分析并生成建议和报告。优化是一项高开销的过程,可能需要耗费额外的时间。为了确保处理全部工作负荷,并确保数据库引擎优化顾问有足够时间来生成建议和报告,唯一的方式是不指定优化时间限制。若要不限制优化时间,请清除“优化选项”选项卡上的“限制优化时间”

使用命令行监视优化进度

dta 命令提示实用工具报告进度的两个关键度量值。默认情况下,dta 在优化工作负荷时,向屏幕写入下列信息:

  • 处理的工作负荷

    这是数据库引擎优化顾问目前处理的工作负荷中的所有事件的一部分。如果优化在任意点处停止,则数据库引擎优化顾问将基于工作负荷的这一部分给出建议。如果允许数据库引擎优化顾问处理更多工作负荷,则其建议可能会更改。

    如果未限制优化时间,则只有在**“处理的工作负荷”**达到 100% 时,优化才完成。请注意,优化不仅限于处理工作负荷。在数据库引擎优化顾问处理完工作负荷之后,它将对查询进行分析并生成建议和报告。优化是一项高开销的过程,可能需要耗费额外的时间。为了确保处理全部工作负荷,并确保数据库引擎优化顾问有足够时间来生成建议和报告,唯一的方式是不指定优化时间限制。若要不限制优化时间,请将 -A 选项设置为 0

  • 估计的提高程度

在优化期间的任意点,该数字表示当实施数据库引擎优化顾问为目前处理的工作负荷生成的建议时性能的估计提高程度。

如果要在工作负荷未完全处理时停止数据库引擎优化顾问,请按 CTRL+C。

事件优化顺序

工作负荷中的事件可以按其显示在工作负荷中的顺序优化(按顺序),也可以按其持续时间的顺序优化。如果工作负荷是 Transact-SQL 脚本文件,则事件按顺序进行优化。同样,如果工作负荷是跟踪文件或跟踪表,并且跟踪不包含“持续时间”列,则数据库引擎优化顾问按顺序优化事件。

如果跟踪文件或跟踪表包含“持续时间”列,则数据库引擎优化顾问按“持续时间”的值降序优化事件,因此将首先优化持续时间较长的执行查询。