SQL Server之捕获Showplan XML数据

在数据库调优过程中,分析执行计划前对执行计划进行优化是很重要的内容,在SQL Server中通常有两种方式可以捕获执行计划的相关信息:SQL Server Management Studio和SQL Server Profiler的Showplan XML事件类。

  1. SQL Server Management Studio
    提供显示实际执行计划和显示估计执行计划等功能,这将用图形方式来呈现计划,这些功能为直接检查提供了最适合的解决方案,是目前最常用的显示和分析执行计划的方法。
    使用SQL Server Management Studio连接数据库服务器,新建一个查询号窗口,选中查询语句单击右键,在弹出菜单中选择“显示估计的执行计划”选项,如图所示。
    在这里插入图片描述
    之后会生成一个图形计划,如图所示。
    在这里插入图片描述
    图形查询计划阅读的方法是由右至左,通常由底部向上,最左边、最上方的步骤是计划中的最后步骤,阅读图形计划需要注意以下几个方面的内容:
    Ø 计划中的每个步骤由图标表示,不同的图标表示不同的含义;
    Ø 计划中每个步骤都有一个开销百分比,表示该步骤占整个查询计划成本的百分比;
    Ø 查询计划会在查询框中为每条语句显示一个执行计划,这些计划会在结果框中顺序列出,每个计划均有相对于批处理的成本,这个成本是通过百分比表示;
    Ø 步骤之间通过箭头连接,显示查询执行时采用的顺序以及操作之间的数据流;
    Ø 将光标悬停在任意步骤之上时,会弹出一个信息框,显示指定步骤的详细信息和影响到的记录条数;
    Ø 步骤间的连接箭头有着不同的厚度,其厚度表示每个步骤之间移动数据行的数量、大小等相对成本,厚度越大表示相对成本越高,通过这个指示器可以快速的衡量查询计划的成本,如果返回过多的数据行,那么说明当前的查询计划可能不是最优的;
  2. SQL Server Profiler中的Showplan XML事件类
    当Microsoft SQL Server执行SQL语句时,会发生Showplan XML事件类,包括Showplan XML事件类以标识Showplan运算符,此事件类将每个事件存储为定义完善的XML文档。
    注意:使用SQL Server Profiler中的Showplan XML事件类可以查看查询执行计划,当跟踪中包含Showplan XML事件类时,其开销将明显影响性能,查询优化后,Showplan XML将存储查询计划,若要将引起的开销降到最低,请将限制该事件类,仅在监视主要时段内的特定问题的跟踪中使用它。
    在配置Profiler跟踪时,使用新的事件类Showplan XML,它包含以下事件的设置:
    Ø Showplan XML:XML Showplan输出可作为一个单独的文件进行保存,如图所示;
    Ø Stored Procedures-RPC:Completed:指示一个远程过程调用已经完成;
    Ø TSQL-SQL:BatchCompleted:指示Transact-SQL批作业已经完成;
    在这里插入图片描述
    在提取事件设置对话框中有提取XML计划和死锁XML两种,保存文件的后缀名为.sqlplan,而关于生成的提取文件又有两种设置:
    Ø 单个文件中的所有XML显示计划批(P):表示所有的查询执行计划结果只保存在一个文件中;
    Ø 不同文件中的每个XML显示计划批(E):表示不同的查询执行计划使用不同的文件来保存;
    Profiler跟踪设置完成后,执行一个跟踪,Profiler捕获到的查询计划结果如图所示。
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值