我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019跑狗图高清彩图 > 执行开销 >

详解执行计划 - 净心轩 - 博客园

归档日期:07-20       文本归类:执行开销      文章编辑:爱尚语录

  如果查询由多个查询的批组成,每个查询的执行计划按照执行的顺序显示。批中的每个执行计划将有一个相对的估算开销,整个批的总开销为100%。

  执行计划中的每个图标代表一个操作符。它们每个都有一个相对的估算开销,执行计划中的所有节点的总开销是100%。

  执行计划中的一个起始操作符通常表示一个数据库对象(表或索引)的数据检索机制。

  同一列的两个操作符之间的连接机制将是嵌套的循环连接,Hash匹配连接或者合并连接。

  在属性窗口中有完整的一组关于操作符的细节,可以右键单击操作符并选择属性。

  操作符细节在顶部显示物理和逻辑操作的类型。物理操作代表存储实际使用的,而逻辑操作时优化器用于建立估算执行计划的结构。如果逻辑和物理操作相同,那么只显示物理操作。它还显示其他有用信息,如行数、I/O开销、CPU开销等。

  操作符细节弹出窗口的参数部分在分析中特别有用,因为它显示了优化器所使用的过滤或连接条件。

  执行计划中令人感兴趣的主要是查找哪些步骤相对开销较大。这些步骤是查询优化的出发点。可以通过采用下面的技术来选择开始的步骤。

  执行计划中的每个节点显示其在整个执行计划中的相对开销,整个计划的总开销为100%。因此,关注有最高相对开销的节点。

  查看节点之间连接箭头的宽度。非常宽的连接箭头表示对应节点之间传输大量的行。分析箭头左边的节点以理解其需要那么多行的原因,还要检查箭头的属性。可能看到估计的行和实际的行不一样,这可能由过时的统计造成。

  寻找Hash连接操作。对于小的结果集,嵌套的循环连接通常是首选的连接技术。

  可能由操作符之上有一个感叹号表示的警告,这是需要立刻注意的领域。这些警告可能是由各种问题造成的,包括没有连接条件的连接或丢失统计的索引和表。通常解决警告的情况将对性能有帮助。

  为了进一步研究执行计划中的开销较大的步骤,应该分析相关表或索引的数据检索机制。

  首先,应该检查索引操作是查找这里扫描。通常,为了最佳性能,应该从一个表中检索尽量少的行,而索引查找通常是访问少量行的最有效方法。扫描操作通常代表着访问大量的行。因此,一般来说查找优先于扫描。

  接下来,需要确保索引机制被正确建立。查询优化器评估可用的索引以发现哪个索引将以最有效的方式从表中检索数据。如果需要的索引不存在,优化器使用次佳的索引。为了最好的性能,应该始终确保在数据检索操作中使用最佳的索引。可以通过分析以下操作的节点细节中的参数部分来判断索引有效性:

  最后一个访问执行计划的地方就是直接从保存它们的内存空间-计划缓存中读取。

  SQL Server提供了动态管理视图和函数来访问这一数据。为了查看缓存中的执行计划列表,运行以下查询:

  这个查询返回一个XML执行计划连接的列表。打开任何一个连接将显示执行计划,进一步通过动态管理视图处理可用的列,将使你能够搜索特定的过程或执行计划。

本文链接:http://guidoon.com/zhixingkaixiao/264.html