Azure Data Studio 中的查询计划查看器
适用范围:SQL Server Azure SQL 数据库 Azure SQL 托管实例
Azure Data Studio 支持捕获估计的和实际的查询计划。 查询计划提供 SQL Server 查询优化器所选的数据检索(或修改)方法的图形显示形式。 此可视化方法可帮助了解查询的性能特征。
显示 - 估计计划
要查看查询的估计计划,请突出显示特定查询并选择“估计计划”按钮。
注意
如果不选择查询而是选择“估计计划”按钮,它将在查询窗口中显示所有查询的估计计划。
显示 - 实际计划
要在编辑器中查看任何查询的“实际计划”,请选择“启用实际计划”按钮或 CTRL + M。启用此选项后,执行任何查询(通过“运行”按钮或 F5)都将在“查询计划”选项卡中显示实际计划。
注意
如果不选择查询而是选择“运行”或 F5,它将在查询窗口中显示所有查询的实际计划。
输出
查看估计或实际计划时,除了“结果和消息”选项卡外,还可以使用三个选项卡。这些选项卡分别是“查询计划”、“计划树”和“顶部操作”。 “查询计划”选项卡显示计划并提供多个菜单选项,可在右侧菜单栏和右键单击菜单中使用。 “计划树”以文本格式显示计划,其中包括可排序的列。 “顶部操作”窗格列出了计划中的运算符,可根据不同的属性进行排序,以识别成本最高的运算符。
查询计划菜单选项
从查询计划的上下文中,可通过多个选项进一步分析计划。 右键单击计划中的任意位置或从右侧菜单栏中访问这些选项。
图标 | 选项 | 说明 |
---|---|---|
保存计划文件 | 将查询计划保存为 .sqlplan 文件 | |
显示查询计划 XML | 在新窗口中查看 XML 格式的查询计划 | |
打开查询 | 在新窗口中打开计划的查询 | |
放大 | 在计划内放大 | |
缩小 | 在计划内缩小 | |
缩放到合适大小 | 将计划调整为窗口大小 | |
自定义缩放 | 为计划指定自定义缩放级别 | |
查找节点 | 根据特定属性值搜索计划中的节点 | |
属性 | 显示属性窗格 | |
比较执行计划 | 在新窗口中将当前执行计划与其他计划进行比较 | |
突出显示成本高昂的运算符 | 根据指定属性确定计划中成本最高的运算符 | |
工具提示 | 将鼠标悬停在计划中的运算符上时,用于启用或禁用工具提示的切换 | |
顶部操作 | 切换到“顶部操作”窗格 |
顶部操作
在“顶部操作”选项卡中,除了对列进行排序外,还可使用右侧的“筛选”窗口查找具有共同字段值的运算符。 例如,在访问特定数据库对象的计划中查找所有嵌套循环运算符,或筛选给定属性的特定值时,它可能会有所帮助。
对于列表中的任何运算符,选择运算符名称以跳转到该运算符在查询计划中的位置(绿色框会将该运算符框起来)。
计划比较
在解决计划性能差异问题时,比较查询计划很有用,这可以在 Azure Data Studio 中通过右键单击计划并选择“比较执行计划”来完成。 当前计划将在新窗口的上半部分打开,下半部分显示“添加执行计划”按钮。 选择“添加执行计划”按钮并浏览到要与之比较的已保存计划。
比较计划菜单提供了几个与查询计划菜单中相同的图标,但它还提供了使用“切换方向”按钮将方向从水平显示切换到垂直显示的功能。 计划比较窗口中的“属性”窗格提供并排查看每个计划中运算符属性值的功能。 选择“属性”按钮,然后选择要比较的每个计划中的运算符。 虽然可以选择任何运算符,但在计划内的相似位置选择相同的运算符通常会有所帮助。 Select 运算符就是一个示例,但在下面的屏幕截图中选择了“Index Seek”运算符。
用于计划比较的“属性计划”的默认视图在顶部列出了具有不同值的属性,而具有相同值的属性折叠在“等效属性”标题下。 可使用排序图标更改此视图,且可展开或折叠属性列表,以帮助显示和查找信息。 “属性”窗格还具有“筛选”菜单,可提供快速导航到感兴趣的属性的功能。