2010-08-10 471 views

回答

12

我认为EXPLAIN关键字是MySQL的概念 - 等效的Microsoft SQL服务器概念是执行计划。

获取执行计划的最简单方法是打开SQL Server Management Studio中的“显示实际执行计划”菜单项(在查询菜单中)。或者你可以阅读更深入的执行指南预案这里:

本文进入有更详细的在哪个执行计划,如何获得一个执行计划,和不同的执行计划格式。

+2

对于(很多)在执行计划的详细信息,请参见这里:http://www.simple-talk.com/sql/performance/execution-plan-basics/。在某些版本的SSMS中,该菜单项将被称为“显示预计查询计划” – Tobiasopdenbrouw 2010-08-10 14:10:59

+0

谢谢,现在就发现它。 @tobia +1,@ kragen +1。 – 2010-08-10 14:20:26

+0

它在Oracle中也可用:'SET AUTOTRACE OFF --ON',然后SQL语句。你可以用'SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY());'显示计划 – Markus 2016-05-20 07:31:32

-3

您需要查看SQl Server中的执行计划。在网上查找图书中的术语,了解如何使用它。

他们不是那么简单阅读,你可能想要做一些ressearch,这里有一个谷歌搜索词,让你开始:

读取执行计划的SQL Server

5

The MySql EXPLAIN statement can be used either as a synonym for DESCRIBE or as a way to obtain information about how MySQL executes a SELECT statement.

最接近对于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然后运行您的查询时,您将再次获得结果集。

1

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

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

来源: TSQL EXPLAIN