如何使用C#从SQL Server获得估计的执行计划

本文关键字:执行 计划 何使用 SQL Server | 更新日期: 2023-09-27 17:58:14

我知道如何使用SSMS获得它,但我如何使用C#和ADO获得执行计划。NET?(假设我知道如何处理C#中的正常查询。)

如何使用C#从SQL Server获得估计的执行计划

看起来您可以使用以下来自的查询是否有任何方法可以通过Include Actual Execution Plan以编程方式执行查询,并查看是否有任何索引建议

command.CommandText = "SET STATISTICS XML ON";

此外,您可以使用SHOWPLAN_ALL选项,并可以在存储过程中设置它,可能与SET SHOWPLAN_ALL ON类似(尽管我从未亲自测试过。所以只是一个建议)

当SET SHOWPLAN_ALL为ON时,SQL Server返回每条语句的执行信息而不执行它,并且不执行Transact-SQL语句。此选项设置为ON后,将返回有关所有后续Transact-SQL语句的信息,直到该选项设置为OFF为止。例如,如果在set SHOWPLAN_all为ON的情况下执行CREATE TABLE语句,SQL Server将从涉及同一表的后续SELECT语句返回错误消息,通知用户指定的表不存在。因此,对该表的后续引用将失败。当SET SHOWPLAN_ALL为OFF时,SQL Server执行语句而不生成报告。