SQLSERVER中得到执行计划的两种方式

 更新时间:2013年01月17日 11:31:20   作者:  
得到执行计划的方式有两种:一种是在指令的前面打开一些开关,让执行计划信息打在结果集里,这种方法比较适合在一个测试环境里对单个语句调优;另一种方法是使用SQL Trace里的事件跟踪来跟踪语句的执行计划,感兴趣的朋友可以了解下
得到执行计划的方式有两种
1、一种是在指令的前面打开一些开关,让执行计划信息打在结果集里,这种方法比较适合在一个测试环境里对单个语句调优。
这些开关最常用的有
复制代码 代码如下:

SET SHOWPLAN_ALL ON
SET SHOWPLAN_ALL ON --(是不是reuse了一个执行计划,SQSERVERL有没有觉得缺少索引),只能在XML的输出里看到
SET STATISTICS PROFILE ON

还有如果使用SSMS的话,可以用快捷键:Ctrl+L 小写L 他会执行你的语句并显示执行计划,但是不会返回结果集
 
2、另一种方法是使用SQL Trace里的事件跟踪来跟踪语句的执行计划。
常用的事件有 :SHOWPLAN ALL、SHOWPLAN STATISTICS PROFILE、SHOWPLAN XML STATISTICS PROFILE
这种方法的好处是无须打开任何开关,可以用来直接跟踪应用程序的语句执行。
缺点是他会把所有语句都抓下来。如果SQLSERVER比较忙的话,输出会很大,有可能影响性能,所以要慎用
--------------------------------------------------------------------------------
这两种方法收集的信息大部分是一样的。XML的方式会将结果以XML的结构返回,在SQL Trace里,这种结果可以用图形的方式显示执行计划以及其相关的信息。

对执行计划比较简单的语句,这样的输出方式可能比较友善。但是对于复杂的执行计划,如果用图形的方式显示,一个屏幕很难全放得下, 每一步的统计信息要鼠标点到才会显示出来,个人觉得不如文本输出格式易读性好。

相关文章

  • 如何有效防止sql注入的方法

    如何有效防止sql注入的方法

    SQL注入攻击是黑客对数据库进行攻击常用的手段之一,本文主要介绍了如何如何有效防止sql注入,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • 将mater库中的系统存储过程批量生成*.sql文件 通用且非常实用

    将mater库中的系统存储过程批量生成*.sql文件 通用且非常实用

    最近因为系统需要,需要将master库的所有和业务相关的存储过程批量生成 存储过程名.sql 文件,默认是不可以导出的
    2012-05-05
  • Mysql中错误使用SQL语句Groupby被兼容的情况

    Mysql中错误使用SQL语句Groupby被兼容的情况

    本文给大家带来了Mysql中错误使用SQL语句Groupby被兼容的情况,及sql的grop by 语句介绍。感兴趣的朋友一起通过本文学习吧
    2016-08-08
  • 解析React 中的Virtual DOM

    解析React 中的Virtual DOM

    React在前端界一直很流行,而且学起来也不是很难,只需要学会JSX、理解State和Props,然后就可以愉快的玩耍了,但想要成为React的专家你还需要对React有一些更深入的理解,对React  Virtual DOM相关知识感兴趣的朋友一起看看吧
    2022-01-01
  • mybatis collection 多条件查询的实现方法

    mybatis collection 多条件查询的实现方法

    这篇文章主要介绍了mybatis collection 多条件查询的实现方法的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-10-10
  • 判断数据库表是否存在以及修改表名的方法

    判断数据库表是否存在以及修改表名的方法

    本文为大家详细介绍下如何判断数据库表是否存在以及修改表名,感兴趣的朋友可以参考下,希望对大家有所帮助
    2013-09-09
  • SQL Server清除事务日志的两种方式

    SQL Server清除事务日志的两种方式

    事务日志是一种记录每次数据库修改操作的日志,它记录了每一次事务修改的详细日志,但磁盘容量始终有限制,本文主要介绍了SQL Server清除事务日志的两种方式,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • 使用SQL批量替换语句修改、增加、删除字段内容

    使用SQL批量替换语句修改、增加、删除字段内容

    sql替换语句,用该命令可以整批替换某字段的内容,也可以批量在原字段内容上加上或去掉字符。本文给大家介绍使用SQL批量替换语句修改、增加、删除字段内容的知识,非常不错,感兴趣的朋友一起学习吧
    2016-08-08
  • SQL Server数据库中设置索引的策略分享

    SQL Server数据库中设置索引的策略分享

    在 SQL Server 中,索引通过加快数据检索速度在优化查询性能方面发挥着关键作用,在数据库中设置索引的策略受数据库结构、表的大小和将要运行的查询类型的影响,以下是如何将索引应用于这些不同类型的表的详细分类,需要的朋友可以参考下
    2024-12-12
  • sqlserver 2000数据库同步 同步两个SQLServer数据库的内容

    sqlserver 2000数据库同步 同步两个SQLServer数据库的内容

    程序代码可以有版本管理CVS进行同步管理,可是数据库同步就非常麻烦,只能自己改了一个后再去改另一个,如果忘记了更改另一个经常造成两个数据库的结构或内容上不一致.
    2010-05-05

最新评论