标签归档:sql优化工具

mssql-优化技巧-工具篇 -读懂执行计划


三种执行计划的阅读


1.1 图形式执行计划阅读

箭头的方向代表数据的流向,箭头的粗细代表数据的多少,当我们的鼠标指向步骤名时,可以查看此步骤所涉及的属性”CPU开销 IO 开销 行大小 返回的行数信息”及当前步骤的操作方式,
在相应的步骤名上,点击”属性”,也可以找到相应的步骤上涉及的相关属性。
在图形式执行上,我们可以点击右键,另存为“***”,然后传送给其它用户共享观看。
如下图所示:


1.2 文本式执行计划阅读

select *  from A left join B on A.keyId1 = b.KeyId2  where A.keyId1 >100
  |--Hash Match(Right Outer Join, HASH:([master].[dbo].[B].[keyId2])=([master].[dbo].[A].[keyId1]), RESIDUAL:([master].[dbo].[A].[keyId1]=[master].[dbo].[B].[keyId2]))
       |--Table Scan(OBJECT:([master].[dbo].[B]), WHERE:([master].[dbo].[B].[keyId2]>(100)))
       |--Table Scan(OBJECT:([master].[dbo].[A]), WHERE:([master].[dbo].[A].[keyId1]>(100)))

文本执行计划根据,采用 | 和前面的空格方式来代表 步骤的层级关系,数据流向为最底层向上层流动。
文本采用文本的方式阐述,当前步骤所使用的操作方式,例 Table Scan 表扫描 Index seek 索引查找…
如下图所示:


1.3 xml形式执行计划阅读

xml形式展示执行计划,是SQL Server将执行计划,采用xml的方式进行存储,通过定义xml中的相应属性对应相应的值对执行计划进行存储操作。

相关阅读:

MSSQL 获取执行计划的方式–sql优化工具篇

MSSQL 获取执行计划的方式–sql优化工具篇


以下将展示三种获取sql实际执行计划的方法:
1 打开”SQL Server Management Studio” ,连接至对应的DB测试服务器
2 新建查询窗口


一、按钮式–获取执行计划 数据流图

按钮式,获取执行计划的操作方法为:
在查询分析器上”选中”此按钮,
然后在查询分析器中执行”sql语句”,列表下方就会展示sql语句
1.1 打开查看 “实际执行计划” 按钮

1.2 执行SQL语句,返回”实际执行计划:,如下图所示


二、命令式–获取执行计划文本格式

2.1 命令方式1
在sql语句前面加上”SET SHOWPLAN_TEXT ON”
返回实际执行,所涉及的文本信息

     set showPlan_text on   ---使用前打开"实际执行计划"查看
     select   * from A  left join B on a.keyId1 = b.keyId2 
   

2.2 命令方式2
在sql语句前面加上”SET SHOWPLAN_ALL ON ”
返回实际执行,所涉及的文本信息及详细的属性节点信息

     set showPlan_all on  ---使用前打开"实际执行计划"查看
     select  top 10   * from A  left join B on a.keyId1 = b.keyId2 
    


三、命令式–获取执行计划XML格式

3.1 在sql语句前加入 “SET STATISTICS XML ON ”
将包含此命令的语句块,进行执行,返回xml实际执行计划

    set  STATISTICS XML on  ---使用前打开"实际执行计划"查看
    select  top 10   * from A  left join B on a.keyId1 = b.keyId2 
   

相关阅读:
查看MSSQL-执行语句”实际执行计划”的方法