SQL Server相当于MySQL的EXPLAIN

时间:2010-08-10 14:06:34

标签: sql sql-server-2008 keyword

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

如何获得相同的结果?

5 个答案:

答案 0 :(得分:18)

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

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

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

答案 1 :(得分:7)

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

答案 2 :(得分:1)

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

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

来源: TSQL EXPLAIN

答案 3 :(得分:0)

在SSMS(我是18.3.1)中,突出显示有问题的查询,然后按 CTRL + L

(这就是Tobias提到的-Query->Display Estimated Query Plan

答案 4 :(得分:-3)

您需要查看SQl Server中的执行计划。在线查阅该书中的术语,了解如何使用它。

它们不是那么容易阅读,您可能想要进行一些研究,这是一个谷歌搜索术语,可以帮助您入门:

阅读执行计划sql server