你可以通过print()方法向“消息”选项卡输入信息
print('-------打印消息---------')结果
-------打印消息---------如图

一、显示执行计划
1.1 显示估计的执行计划

 1.2包裹实际的执行计划
1.3 计划结果

详细翻阅:
MSSQLSERVER执行计划详解 - 张龙豪 - 博客园
二、SET STATISTICS IO 语句所生成的磁盘活动量的相关信息
SET STATISTICS IO (Transact-SQL)
导致 SQL Server 显示 Transact-SQL 语句所生成的磁盘活动量的相关信息。
官方地址:SET STATISTICS IO (Transact-SQL) - SQL Server | Microsoft Docs
适用于: 是SQL Server(所有支持的版本) 是Azure SQL 数据库
导致 SQL Server 显示 Transact-SQL 语句所生成的磁盘活动量的相关信息。
语法
SET STATISTICS IO { ON | OFF }示例
此示例显示 SQL Server 处理语句时,进行了多少次逻辑读和物理读操作。
USE AdventureWorks2012;  
GO         
SET STATISTICS IO ON;  --开启
GO  
SELECT *   
FROM Production.ProductCostHistory  
WHERE StandardCost < 500.00;  
GO  
SET STATISTICS IO OFF;  --关闭
GO下面是结果集:
Table 'ProductCostHistory'. Scan count 1, logical reads 5, physical   
reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0,   
lob read-ahead reads 0.中文提示是这样的
(8 行受影响)
表 'Product'。扫描计数 1,逻辑读取 2 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。三、SET STATISTICS TIME 显示分析、编译和执行各语句所需的毫秒数。
SET STATISTICS TIME (Transact-SQL)
适用于: 是SQL Server(所有支持的版本) 是Azure SQL 数据库
显示分析、编译和执行各语句所需的毫秒数。
官方地址:SET STATISTICS TIME (Transact-SQL) - SQL Server | Microsoft Docs
语法
SET STATISTICS TIME { ON | OFF }示例
下面的示例显示服务器的执行、分析和编译时间。
USE AdventureWorks2012;  
GO         
SET STATISTICS TIME ON;  --开启
GO  
SELECT ProductID, StartDate, EndDate, StandardCost   
FROM Production.ProductCostHistory  
WHERE StandardCost < 500.00;  
GO  
SET STATISTICS TIME OFF;  --关闭
GO下面是结果集:
SQL Server parse and compile time:   
   CPU time = 0 ms, elapsed time = 1 ms.  
SQL Server parse and compile time:   
   CPU time = 0 ms, elapsed time = 1 ms.  
  
(269 row(s) affected)  
  
SQL Server Execution Times:  
   CPU time = 0 ms,  elapsed time = 2 ms.  
SQL Server parse and compile time:   
   CPU time = 0 ms, elapsed time = 1 ms.中文提示是这样的
SQL Server 分析和编译时间: 
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
(8 行受影响)
 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
SQL Server 分析和编译时间: 
   CPU 时间 = 0 毫秒,占用时间 = 7 毫秒。四、SET SHOWPLAN_ALL 返回有关语句执行情况的详细信息,并估计语句对资源的需求。
SET SHOWPLAN_ALL (Transact-SQL)
适用于: 是SQL Server(所有支持的版本) 是Azure SQL 数据库
使 Microsoft SQL Server 不执行 Transact-SQL 语句。 SQL Server 返回有关语句执行情况的详细信息,并估计语句对资源的需求。
官方地址:SET SHOWPLAN_ALL (Transact-SQL) - SQL Server | Microsoft Docs
语法
SET SHOWPLAN_ALL { ON | OFF }示例
下面两个语句使用了 SET SHOWPLAN_ALL 设置,以显示 SQL Server 在查询中分析和优化索引的方法。
第一个查询在 WHERE 子句中使用针对索引列的等于比较运算符 (=)。 从而在 LogicalOp 列内得到 Clustered Index Seek 值,在 Argument 列内生成索引名。
第二个查询在 WHERE 子句中使用 LIKE 运算符。 这将强制 SQL Server 使用聚集索引扫描并查找满足 WHERE 子句条件的数据。 从而在 LogicalOp 列内得到 Clustered Index Scan 值,在 Argument 列内生成索引名;在 LogicalOp 列内得到 Filter 值,在 Argument 列内出现 WHERE 子句条件。
第一个索引查询的 EstimateRows 和 TotalSubtreeCost 列中的值较小,这表示与非索引查询相比,该查询的处理速度快得多且使用的资源更少。
USE AdventureWorks2012;  
GO  
SET SHOWPLAN_ALL ON;  --开启
GO  
-- First query.  
SELECT BusinessEntityID   
FROM HumanResources.Employee  
WHERE NationalIDNumber = '509647174';  
GO  
-- Second query.  
SELECT BusinessEntityID, EmergencyContactID   
FROM HumanResources.Employee  
WHERE EmergencyContactID LIKE '1%';  
GO  
SET SHOWPLAN_ALL OFF;  --关闭
GO 结果
五、SET SHOWPLAN_XML 返回有关如何以定义好的 XML 文档格式执行上述语句的详细信息。
SET SHOWPLAN_XML (Transact-SQL)
适用于: 是SQL Server(所有支持的版本) 是Azure SQL 数据库 是Azure SQL 托管实例 是Azure Synapse Analytics
使 SQL Server 不执行 Transact-SQL 语句。 而 SQL Server 返回有关如何以定义好的 XML 文档格式执行上述语句的详细信息。
官方地址:SET SHOWPLAN_XML (Transact-SQL) - SQL Server | Microsoft Docs
语法
SET SHOWPLAN_XML { ON | OFF }示例
下面两个语句使用了 SET SHOWPLAN_XML 设置,以显示 SQL Server 在查询中分析和优化索引的方法。
第一个查询在 WHERE 子句中使用针对索引列的等于比较运算符 (=)。 第二个查询在 WHERE 子句中使用 LIKE 运算符。 这将强制 SQL Server 使用聚集索引扫描并查找满足 WHERE 子句条件的数据。 第一个索引查询的 EstimateRows 和 EstimatedTotalSubtreeCost 属性中的值较小,这表示与非索引查询相比,该查询的处理速度快得多且使用更少的资源。
USE AdventureWorks2012;
GO
SET SHOWPLAN_XML ON; --开启
GO
-- First query.
SELECT BusinessEntityID
FROM HumanResources.Employee
WHERE NationalIDNumber = '509647174';
GO
-- Second query.
SELECT BusinessEntityID, JobTitle
FROM HumanResources.Employee
WHERE JobTitle LIKE 'Production%';
GO
SET SHOWPLAN_XML OFF; --关闭如:我的本地库
USE   [DBTase]
GO
SET SHOWPLAN_XML ON;
GO
-- First query.
SELECT *
FROM [dbo].[Product]
GO
-- Second query.
SELECT *
FROM [dbo].[Table_1]
GO
SET SHOWPLAN_XML OFF;结果

点开后是这样的

内容
<ShowPlanXML xmlns="http://schemas.microsoft.com/sqlserver/2004/07/showplan" Version="1.2" Build="11.0.2100.60"><BatchSequence><Batch><Statements><StmtSimple StatementText="-- First query.
SELECT *
FROM [dbo].[Product]
" StatementId="1" StatementCompId="1" StatementType="SELECT" RetrievedFromCache="false" StatementSubTreeCost="0.0032908" StatementEstRows="8" StatementOptmLevel="TRIVIAL" QueryHash="0x70EFBFC3E62AD95E" QueryPlanHash="0x865F383BA2A66197"><StatementSetOptions QUOTED_IDENTIFIER="true" ARITHABORT="true" CONCAT_NULL_YIELDS_NULL="true" ANSI_NULLS="true" ANSI_PADDING="true" ANSI_WARNINGS="true" NUMERIC_ROUNDABORT="false"/><QueryPlan CachedPlanSize="16" CompileTime="0" CompileCPU="0" CompileMemory="72"><MemoryGrantInfo SerialRequiredMemory="0" SerialDesiredMemory="0"/><OptimizerHardwareDependentProperties EstimatedAvailableMemoryGrant="206836" EstimatedPagesCached="51709" EstimatedAvailableDegreeOfParallelism="2"/><RelOp NodeId="0" PhysicalOp="Clustered Index Scan" LogicalOp="Clustered Index Scan" EstimateRows="8" EstimateIO="0.003125" EstimateCPU="0.0001658" AvgRowSize="69" EstimatedTotalSubtreeCost="0.0032908" TableCardinality="8" Parallel="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row"><OutputList><ColumnReference Database="[DBTase]" Schema="[dbo]" Table="[Product]" Column="ID"/><ColumnReference Database="[DBTase]" Schema="[dbo]" Table="[Product]" Column="TypeID"/><ColumnReference Database="[DBTase]" Schema="[dbo]" Table="[Product]" Column="Name"/></OutputList><IndexScan Ordered="0" ForcedIndex="0" ForceScan="0" NoExpandHint="0"><DefinedValues><DefinedValue><ColumnReference Database="[DBTase]" Schema="[dbo]" Table="[Product]" Column="ID"/></DefinedValue><DefinedValue><ColumnReference Database="[DBTase]" Schema="[dbo]" Table="[Product]" Column="TypeID"/></DefinedValue><DefinedValue><ColumnReference Database="[DBTase]" Schema="[dbo]" Table="[Product]" Column="Name"/></DefinedValue></DefinedValues><Object Database="[DBTase]" Schema="[dbo]" Table="[Product]" Index="[PK_Product]" IndexKind="Clustered"/></IndexScan></RelOp></QueryPlan></StmtSimple></Statements></Batch></BatchSequence></ShowPlanXML>
六、SET SHOWPLAN_TEXT 返回有关如何执行语句的详细信息
SET SHOWPLAN_TEXT (Transact-SQL)
 适用于: 是SQL Server(所有支持的版本) 是Azure SQL 数据库
使 Microsoft SQL Server 不执行 Transact-SQL 语句。 而是由 SQL Server 返回有关如何执行语句的详细信息。
官方地址:SET SHOWPLAN_TEXT (Transact-SQL) - SQL Server | Microsoft Docs
语法
SET SHOWPLAN_TEXT { ON | OFF }示例
此例显示 SQL Server 在处理语句时如何使用索引。
下面是使用索引的查询:
USE AdventureWorks2012;  
GO  
SET SHOWPLAN_TEXT ON;  --开启
GO  
SELECT *  
FROM Production.Product   
WHERE ProductID = 905;  
GO  
SET SHOWPLAN_TEXT OFF;  --关闭
GO下面是结果集:
StmtText                                             
---------------------------------------------------  
SELECT *  
FROM Production.Product   
WHERE ProductID = 905;   
  
StmtText                                                                                                                                                                                        
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  
|--Clustered Index Seek(OBJECT:([AdventureWorks2012].[Production].[Product].[PK_Product_ProductID]), SEEK:([AdventureWorks2012].[Production].[Product].[ProductID]=CONVERT_IMPLICIT(int,[@1],0)) ORDERED FORWARD)下面是不使用索引的查询:
USE AdventureWorks2012;  
GO  
SET SHOWPLAN_TEXT ON;  --开启
GO  
SELECT *  
FROM Production.ProductCostHistory  
WHERE StandardCost < 500.00;  
GO  
SET SHOWPLAN_TEXT OFF;  --关闭
GO下面是结果集:
StmtText                                                                  
------------------------------------------------------------------------  
SELECT *  
FROM Production.ProductCostHistory  
WHERE StandardCost < 500.00;   
  
StmtText                                                                                                                                                                                                  
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  
|--Clustered Index Scan(OBJECT:([AdventureWorks2012].[Production].[ProductCostHistory].[PK_ProductCostHistory_ProductCostID]), WHERE:([AdventureWorks2012].[Production].[ProductCostHistory].[StandardCost]<[@1]))我的测试
GO  
SET SHOWPLAN_TEXT ON;  --开启
GO  
SELECT *
FROM [dbo].[Table_1]
GO  
SET SHOWPLAN_TEXT OFF;  --关闭
GO
                




