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

问题描述 投票:0回答:2

我在 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 中查看查询的执行计划?

sql-server linux sql-execution-plan sql-server-linux azure-data-studio
2个回答
11
投票

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

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

下面是它的样子的屏幕截图

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

  • CTRL+SHIFT+P
  • 输入带有实际执行计划的运行查询,如下所示,然后选择突出显示的,您将获得实际的执行计划

查看预计执行计划:

只需按下面所示的图标

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

1.按 CTRL+SHIFT+P
2.输入键盘快捷键
3.在搜索计划中输入实际,如下所示
4.右键单击实际查询计划快捷方式,然后用您选择的键说

add key binding
(对我来说是CTRL+M

下面的部分答案是在 SQLOPS studio 不可用期间写的。这对于任何没有 SQLopsstudio 的人来说可能会有所帮助:

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

此处正在跟踪一个功能请求:通过查询执行以文本或 XML 形式返回 ShowPlan 数据

还有一个选项是在 Linux 上使用 VSCODE 进行连接并设置

show plan xml
,如下图所示。这提供了执行计划的 xml

SET showplan_xml ON;

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

下面是上面 XML 的屏幕截图

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


0
投票
SET STATISTICS XML ON;

在 Azure data studio 中尝试此命令以获取实际的执行计划。

© www.soinside.com 2019 - 2024. All rights reserved.