我在 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 Operations studio 的新工具,它类似于 SSMS,但可在 Windows、Linux、Macos 上使用。
下载地址:
https://learn.microsoft.com/en-us/sql/sql-operations-studio/download
下面是它的样子的屏幕截图
使用sqlopsstudio查看实际执行计划(所有平台步骤相同)
查看预计执行计划:
只需按下面所示的图标
您还可以使用按键绑定来查看实际的执行计划。以下是步骤
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)以进行更深入的分析
SET STATISTICS XML ON;
在 Azure data studio 中尝试此命令以获取实际的执行计划。