首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过jdbc驱动程序执行sql server查询执行计划

通过jdbc驱动程序执行sql server查询执行计划
EN

Database Administration用户
提问于 2018-04-10 12:37:35
回答 1查看 1.5K关注 0票数 1

是否有一种方法可以获取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。

EN

回答 1

Database Administration用户

发布于 2018-04-10 13:15:00

在运行查询之前运行SET STATISTICS XML ON将导致处理查询,并将XML“实际”执行计划返回给客户端。无论您使用哪个客户端连接到Server,这都是有效的。通过JDBC请求这个结果将导致多个结果集返回给客户机,第一个结果是查询输出,下一个结果集将是实际查询计划的XML输出。

有关该命令的详细信息,请参阅微软

我在下面使用(SSMS),因为它提供了一个很好的图形界面,我可以使用它来显示输出。

SSMS将在结果集中显示结果XML,您只需“单击”即可在新窗口中查看图形计划,例如:

代码语言:javascript
运行
复制
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

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/203490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档