代码之家  ›  专栏  ›  技术社区  ›  Bryan

SQL Server Management Studio中的查询成本

  •  4
  • Bryan  · 技术社区  · 14 年前

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

    主要是,我保存了一些执行计划XML文件,希望与它们进行比较。它一定是以某种方式从XML文件中的数据计算这个数字,但我看不到这是如何做到的。如果我打开一个.sqlplan文件,其中包含多个查询,它将正确显示与批处理值相关的那些文件。我只想自己做这个。

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

    2 回复  |  直到 14 年前
        1
  •  3
  •   Quassnoi    14 年前

    /ShowPlanXML/BatchSequence/Batch/Statements/StmtSimple 有一个名为 StatementSubTreeCost .

    它们是在它们的批次中求和的,并计算出它们的份额。

    您可以在 XML 文件,保存时使用 SQLPLAN 扩展并打开它 SSMS . 您将看到相关成本将重新计算。

        2
  •  3
  •   Damian Leszczyński - Vash    14 年前

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

    For more