3.3 数据库引擎优化顾问

3.3  数据库引擎优化顾问


3.3.1 数据库引擎优化顾问

  数据库引擎优化顾问(Database Engine Tuning Advisor,缩写为 DTA)是 SQL Server 2008 引入的新特性。它可以根据查询优化器中的规则来评估查询,进而提出性能改进建议。DTA 提供了图形界面,可以轻松查看当前的优化会话结果和以前的优化会话结果。

  DTA 可以提供以下建议:

(1)添加索引。

(2)删除索引。

(3)分割表。

(4)存储分配表。


  SQL Server 安装程序在安装工具集时,会同时安装 DTA 工具。运行 DTASHELL.exe 将启动一个图形界面;DTA.exe 则是在命令提示符下运行。

wKioL1ZioEDjd8RLAACdrCJYWRs931.png



3.3.2 工作负荷

  DTA 的工作负荷可以来源于一个跟踪文件、T-SQL 脚本,或者是包含 T-SQL 命令的表。

  一般情况下,需要将 DTA 与 SQL Server Profiler 协调工作。首先它捕获一个跟踪,跟踪中包含需要 DTA 分析的问题。然后 DTA 结合数据库来读取和评估这个跟踪输出。 

  虽然 SQL Server Profiler 可以跟踪到各类事件,但与 DTA 有关的事件只有以下几种:

(1)RPC: Starting

(2)RPC: Completed

(3)SQL: Batch Starting

(4)SQL: Batch Completed

 

3.3.3 分析工作负荷

(1) 启动DTA

  可以从 Windows 的开始菜单中启动 DTA 图形界面,也可以从 SSMS 或 SQL Server Profiler 的“工具”菜单中启动 DTA 图形界面。

wKioL1ZimOCzgPo9AABsQCA1xGU412.png


wKiom1ZimHXgHdpbAABpvkryI0w798.png


wKioL1ZimOGhvzvoAABG1MV-WoI265.png


(2) 登录到 SQL Server 实例

  与 SSMS 登录到实例时一样的登录界面。

 

(3) 创建新的优化会话

  在“常规”选项卡上,在“会话名称”中输入一个名称。 

  选择一个“工作负荷文件”或“表”,然后在相邻的文本框中键入文件的路径或表(database_name.schema_name.table_name)的名称。

  选择要对其运行工作负荷的数据库和表。可以单击“所选表”箭头,从该数据库中选择部分表进行分析。

  选中“保存优化日志”以保存优化日志的副本。如果不希望保存优化日志的副本,请清除该复选框。在分析之后,可以通过打开会话并选择“进度”选项卡来查看优化日志。

wKiom1ZimzTQ0cV6AADEammS1Gg536.png


(4) 优化选项

  单击“优化选项”选项卡,从列出的选项中进行选择。

wKioL1Zim4mi-MAPAACn-XSf560604.png


  可以单击“高级选项”查看更多的高级优化选项。

wKiom1Zim0uATrzCAAAiP4p6i_8172.png


(5) 开始分析

  工具栏中依次有4个按钮:开始分析、停止分析并提供建议、停止分析、保存建议。

  如果在单击“停止分析”或“停止分析(并提供建议)”工具栏按钮之后单击“开始分析”工具栏按钮,数据库引擎优化顾问将启动新的优化会话。


(6) 报告

  分析完成后,在“建议”选项卡中可要查看 DTA 对分区和索引的建议。“报告”选项卡中还有针对语句的详细的分析报告。


wKioL1ZinpLCMz2uAACqjJqXwkY078.png


wKiom1Ziniez8IjmAACW-VkG8Do062.png


wKioL1ZinpPz8hNOAACsrIcNwSU577.png



3.3.4 对性能的影响

  DTA 针对每个可能的建议分析指定查询的开销。为了得到准确的查询成本,每次提交请求给优化器之前,DTA 都会在工作负荷分析所使用的数据库中生成统计数据,这可能会加重所分析的数据库的工作负荷。

  为了降低 DTA 对生产数据库的影响,可以考虑将生产数据库恢复到测试系统,再针对测试系统运行DTA。



本文出自 “SQL Server 管理员指南” 博客,谢绝转载!

你可能感兴趣的:(索引)