是否有一种方法可以获取server 2012 - 2014中的“实际执行计划”生成的XML,但可以通过JDBCDriverforJava-sqljdbc_6.0.8112.100_enu获取?(与2016年兼容的更好的前进)
中引用https://stackoverflow.com/questions/7359702/how-do-i-obtain-a-query-execution-plan -->设置统计信息XML。
发布于 2018-04-10 13:15:00
在运行查询之前运行SET STATISTICS XML ON
将导致处理查询,并将XML“实际”执行计划返回给客户端。无论您使用哪个客户端连接到Server,这都是有效的。通过JDBC请求这个结果将导致多个结果集返回给客户机,第一个结果是查询输出,下一个结果集将是实际查询计划的XML输出。
有关该命令的详细信息,请参阅微软。
我在下面使用(SSMS),因为它提供了一个很好的图形界面,我可以使用它来显示输出。
SSMS将在结果集中显示结果XML,您只需“单击”即可在新窗口中查看图形计划,例如:
SET STATISTICS IO, TIME, PROFILE, XML ON;
GO
SELECT *
FROM sys.objects
将显示以下结果:
在上面的图像中,最后一行显示了实际执行计划的XML。单击它显示如下:
您可能会注意到,我还打开了STATISTICS PROFILE
,它包含了大量有趣的细节,如上图中的中间结果所示。
特别是对于jDBC,统计信息和计划将以附加结果集的形式返回给客户端,可以通过Statement.getMoreResults()
从服务器获得。详情请参见https://learn.microsoft.com/en-us/sql/connect/jdbc/using-multiple-result-sets。
https://dba.stackexchange.com/questions/203490
复制相似问题