9

我在 Linux 上安装了 SQL Server。它是从 Microsoft 的存储库安装的,如下所述: https ://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu

在 MySql 中,我曾经EXPLAIN在我的查询前面写,以查看执行计划。在 SQL Server 中,它似乎不起作用。但我没有安装工作室程序,只安装了 SQL Server 和sqlcmd工具。

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

4

1 回答 1

10

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

下载位置:
https ://docs.microsoft.com/en-us/sql/sql-operations-studio/download

下面是它的外观截图

在此处输入图像描述

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

  • CTRL+SHIFT+P
  • 如下图输入run query with actual execution plan,选择高亮的,你会得到一个实际的执行计划

在此处输入图像描述

查看估计的执行计划:

只需按下如下所示的图标

在此处输入图像描述

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

1.按 CTRL+SHIFT+P
2.键入键盘快捷键
3.在搜索计划中键入实际如下所示
在此处输入图像描述 4.右键单击实际查询计划快捷方式并add key binding用您选择的键说(对我来说是CTRL+M

在此处输入图像描述

下面的部分答案是在 SQLOPS studio 不可用的时候写的。这对没有 SQLopsstudio 的任何人都有帮助:

目前仅当您在 Windows 上使用 SSMS 或 SQLSentry 等第三方工具时才支持查看执行计划。

此处跟踪功能请求:Return ShowPlan data as Text or XML with Query Execution

另一种选择是在 linux 上使用 VSCODE 进行连接,并show plan xml如下面的屏幕截图所示进行设置。这提供了执行计划的 xml

SET showplan_xml ON;

在此处输入图像描述

您可以获取该 xml 并将其上传粘贴计划网站并可以查看计划

下面是上面 XML 的截图

在此处输入图像描述

您也可以在 SQLSENTRY 计划资源管理器中查看它(仅限 Windows)以进行更深入的分析

在此处输入图像描述

于 2017-09-04T18:33:09.933 回答