【问题标题】:How I can find sql query for execution plan?如何找到执行计划的 sql 查询?
【发布时间】:2019-05-29 04:42:43
【问题描述】:

一些程序生成查询并将查询发送到 sql server(在高负载生产中)。我想制定具体表的具体查询计划。我从“Showplan XML”开始探查器,并在 TextData(如 %MyTable%)和 DatabaseName 上设置过滤器。它在 TextData 中显示带有 xml 的行,这些行描述了执行计划(对于我的表的所有查询)。但我知道该表存在 5 个不同的 sql 查询。

如何在不使用统计信息的情况下将一些具体的查询与相应的计划相匹配?

【问题讨论】:

  • 我不太明白你的问题,但是here is a post on how 当然你可以查询计划缓存中当前的任何计划。
  • 是的,我可以使用 STATISTICS PROFILE(来自本文),但我害怕性能不佳。有问题吗?
  • 您正在通过 SQL Profiler 运行跟踪...这本身就是一个性能问题。

标签: sql sql-server database profiling sql-execution-plan


【解决方案1】:

是否有理由必须在生产环境中执行此操作?大多数非常糟糕的执行计划(缺少索引导致表扫描等)在开发环境中非常明显,您可以在其中使用所需的所有诊断。

否则在查询缓存上运行 SQL(如在 linked question 中提到的其他人)可能会产生最小的影响,因为它只是查询系统表而不是为每个查询添加诊断。

【讨论】:

    猜你喜欢
    • 2020-04-30
    • 1970-01-01
    • 2019-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-26
    • 2011-11-13
    相关资源
    最近更新 更多