SQLServerManagementStudio中的查询成本

SQLServerManagementStudio中的查询成本,sql,sql-server-2008,ssms,Sql,Sql Server 2008,Ssms,SSMS如何计算在选择包含实际执行计划时显示的查询成本(相对于批次)值 主要是,我有一些保存的执行计划XML文件,我想相互比较。它一定是从XML文件中的数据计算出了这个数字,但我不知道这是怎么做到的。如果打开一个.sqlplan文件,其中包含多个查询,它将正确显示与批处理值相关的查询。我只想自己做这件事 供参考: 要获取此XML,请在“执行计划”选项卡上,右键单击并选择“显示执行计划XML…”每个/ShowPlanXML/BatchSequence/Batch/Statements/StmtSi

SSMS如何计算在选择包含实际执行计划时显示的查询成本(相对于批次)值

主要是,我有一些保存的执行计划XML文件,我想相互比较。它一定是从XML文件中的数据计算出了这个数字,但我不知道这是怎么做到的。如果打开一个.sqlplan文件,其中包含多个查询,它将正确显示与批处理值相关的查询。我只想自己做这件事

供参考:
要获取此XML,请在“执行计划”选项卡上,右键单击并选择“显示执行计划XML…”

每个
/ShowPlanXML/BatchSequence/Batch/Statements/StmtSimple
都有一个名为
StatementSubTreeCost
的属性

它们在批次中求和,并计算其份额


您可以在
XML
文件中手动更改它们,使用
SQLPLAN
扩展名保存它们,并使用
SSMS
打开它。您将看到,将重新计算相对成本。

这是一个很长的故事,简单地说,成本是数据库以字节为单位执行的物理和逻辑读取量以及CPU成本。对于每个操作,如果读取的是硬盘,则必须检索数据。我们进行物理读取,在另一种情况下,数据库从缓存中读取数据。这是估计的操作员成本。对于每个步骤,您都有它的成本和子树的成本(如果有的话)。然后以整个执行计划的百分比计算成本金额,并显示,这是估计子树成本( 查询优化器在同一子树中执行此操作及其之前的所有操作的总成本。)


这太完美了,谢谢!我以为是这样的,但我第一次尝试做数学题时,结果却没有出来。现在我开始尝试我的XPath技能,并比较两个文件。