【问题标题】:SSMS - Execution Plan Operators - Est/Act Rows DisplaySSMS - 执行计划运算符 - Est/Act 行显示
【发布时间】:2021-05-17 08:35:58
【问题描述】:

我注意到一些 SQL Server 执行计划将估计的和实际的行数显示为操作员信息的一部分,而其他的则不显示(需要悬停和弹出窗口来获取它)。这是 SSMS 中的版本问题还是我可以调整的某个设置?我正在使用 SSMS v17.9.1(必须有调试器),但在“工具”>“选项”中看不到任何明显的东西。谢谢。

【问题讨论】:

  • 您可能不知道的随机注释:估计行数是每次执行,而实际是总数。要进行比较,您需要将两个 Estimated 数字相乘
  • 半不相关的问题,如果有人碰巧注意到这一点。“查询成本(相对于批次)”值是始终基于估计数据还是更新(在实际执行计划中)批处理运行后反映查询执行的实际结果?
  • 总是估计,这是另一个问题。并用一大撮盐来获取缺失索引提示。你可能想看看SentryOne Plan Explorer
  • 感谢 CF。是的,关于缺失索引的建议。

标签: sql-server tsql ssms sql-execution-plan


【解决方案1】:

显示估计的执行计划返回 SQL Server 期望触及的执行计划。这里只返回估计的行数,因为实际行数未知。

包括实际执行计划返回实际执行计划,其中包括估计的行数和实际触及的行数。 p>

估计计划用于开发和故障排除目的;实际计划用于分析。

【讨论】:

    【解决方案2】:

    您需要 SSMS v18.x 才能显示这两个数字。

    在这里获取:https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15

    【讨论】:

    • 这不是他想要的。如果这是您的估计计划,您可以将鼠标悬停在运算符上以仅查看“*估计”行数。如果是“实际”计划,那么您将获得估计和实际行数。..跨度>
    • 实际上,这 我一直在寻找的东西(这是 SSMS 中的版本吗..)。听起来,版本功能方面的选择是在不使用集成调试器还是不使用默认显示的操作符行数之间进行选择,我将保留调试器。谢谢 ML。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多