SQL Server相当于MySQL的EXPLAIN

Ash*_*nko 23 sql keyword sql-server-2008

我正在阅读一个SQL教程,该教程使用关键字EXPLAIN来查看查询的执行方式.我在SQL Server 2008中尝试过但没有成功.

我如何得到相同的结果?

Jus*_*tin 22

我相信EXPLAIN关键字是一个MySQL概念 - 等效的Microsoft SQL服务器概念是执行计划.

获取执行计划的最简单方法是在SQL Server管理工作室中打开"显示实际执行计划"菜单项(在查询菜单中).或者,您可以在此处阅读有关执行计划的更深入的指南:

本文详细介绍了执行计划是什么,如何获取执行计划以及不同的执行计划格式.

  • 有关执行计划的更多信息,请参见此处:http://www.simple-talk.com/sql/performance/execution-plan-basics/.在某些版本的SSMS中,菜单项将被称为"显示估计的查询计划" (3认同)

KM.*_*KM. 10

MySql EXPLAIN语句既可以用作DESCRIBE的同义词,也可以用作获取有关MySQL如何执行SELECT语句的信息的方法.

SQL Server最接近的等效语句是:

SET SHOWPLAN_ALL(Transact-SQL)

SET SHOWPLAN_XML(Transact-SQL)

从SQL Server Management Studio查询窗口,您可以运行SET SHOWPLAN_ALL ONSET SHOWPLAN_XML ON然后运行查询.此时它不会返回查询的结果集,而是返回实际的执行计划.然后,当您运行SET SHOWPLAN_ALL OFFSET SHOWPLAN_XML OFF运行查询时,您将再次获得结果集.

  • “SET SHOWPLAN_ALL ON”——谢谢,为什么这不是公认的答案,而不是告诉我咨询 GUI 的答案? (4认同)

Mic*_*ski 9

在 SSMS(我得到 18.3.1)中突出显示有问题的查询并点击CTRL+L

(这就是托比亚斯提到的 - Query->Display Estimated Query Plan


Mik*_*ike 6

请注意,Microsoft 在 SQL 2012 中向 TSQL 语法添加了 EXPLAIN 命令,但它仅适用于 Azure SQL 数据仓库和并行数据仓库 - 因此不适用于常规 RDBMS 产品。

它提供了一个 XML 格式的执行计划,并有助于显示将在仓库节点之间分布的计划部分。

来源: TSQL 解释