我在Linux上安装了SQL Server。它是从Microsoft的repos安装的,如下所述: https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu
在MySql中,我曾经在查询前写EXPLAIN
来查看执行计划。在SQL Server中,它似乎不起作用。但我没有安装工作室程序,只有SQL Server和sqlcmd
工具。
如何在Linux上的SQL Server中查看查询的执行计划?
答案 0 :(得分:9)
微软发布了一个名为SQL Operations studio的新工具,它类似于SSMS,但可以在Windows,Linux,Macos上使用。
下载位置
https://docs.microsoft.com/en-us/sql/sql-operations-studio/download
下面是它的外观截图
使用sqlopsstudio查看实际执行计划(所有平台的步骤相同)
查看估算的执行计划:
只需按下下面显示的ICON
即可您还可以使用键绑定来查看实际的执行计划。下面是步骤
1.按 CTRL + SHIFT + P
2.键入键盘快捷键
3.在搜索计划中输入实际,如下图所示
4.右键单击实际查询计划快捷方式,并使用您选择的密钥说出add key binding
(对我而言, CTRL + M
下面部分答案是在SQLOPS工作室不可用的时候编写的。这对任何没有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并将其上传到Paste The Plan网站并查看计划
以下是上面的XML
的屏幕截图您也可以在SQLSENTRY计划浏览器中查看它(仅限Windows)以进行更深入的分析