如何在Linux上查看SQL Server的执行计划

9
我在Linux上安装了SQL Server。按照以下步骤从Microsoft的存储库中安装: https://learn.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu 在MySql中,我习惯在查询前面编写EXPLAIN以查看执行计划。但在SQL Server中似乎不起作用。但是我没有安装studio程序,只有SQL Server和sqlcmd工具。
如何在Linux上的SQL Server中查看查询的执行计划?

1
请看这里:https://technet.microsoft.com/zh-cn/library/ms180765(v=sql.105).aspx - Keith
此问题已经修复,请检查。 - TheGameiswar
1
谢谢!它有效。 - Gherman
@Gherman:请查看更新,还有一个更易于使用的选项。 - TheGameiswar
1个回答

10

微软发布了一个名为SQL Operations Studio的新工具,与SSMS类似,但可在Windows、Linux和MacOS上使用。

下载地址:
https://learn.microsoft.com/en-us/sql/sql-operations-studio/download

下面是它的屏幕截图。

enter image description here

使用sqlopsstudio查看实际执行计划(所有平台的步骤相同)

  • 按下CTRL+SHIFT+P
  • 输入如下所示的"run query with actual execution plan"并选择高亮部分,即可获得实际执行计划

enter image description here

查看预计执行计划:

只需按下下面显示的图标即可

enter image description here

您还可以使用按键绑定查看实际执行计划。以下是步骤:

1.按下 CTRL+SHIFT+P
2.输入键盘快捷方式
3.在搜索计划中键入 actual,如下所示:
enter image description here 4.右键单击实际查询计划快捷方式,选择 add key binding 并选择一个您喜欢的键(我选择的是 CTRL+M

enter image description here

以下部分的答案是在SQLOPS Studio不可用时编写的。这对于任何没有SQLopsstudio的人可能是有帮助的:
目前,只有在Windows上使用SSMS或像SQLSentry这样的第三方工具才支持查看执行计划。
这里正在跟踪一个功能请求: 返回带有查询执行的ShowPlan数据的文本或XML 另一个选项是使用Linux上的VSCODE连接并设置show plan xml,如下面的截图所示。这提供了执行计划的xml。
SET showplan_xml ON;

enter image description here

你可以拿着那个 XML 文件上传到 Paste The Plan 网站上,然后就可以查看计划。下面是上述 XML 的屏幕截图。

enter image description here

您还可以在 SQLSENTRY 计划分析器中查看它(仅限 Windows),以进行更深入的分析。

enter image description here


我将计划的XML复制到了这个网站,但它显示:“提供的XML不是有效的SQL Server查询计划XML。” 我有这个XML文件,但我无法阅读它。 - Gherman
1
我正在与这个作者合作。我已经提供了复现步骤,作者说它应该可以工作,并且他会回复我。一旦我收到他的回复,我会更新情况。 - TheGameiswar
这是个好消息。 - Gherman
有没有其他的方法查看执行计划? - n1nsa1d00

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接