【问题标题】:sql server and statistics profilesql server 和统计配置文件
【发布时间】:2011-09-09 08:37:21
【问题描述】:

我开始研究 SQL Server 2008 中的查询优化器,我对可以为查询显示的统计配置文件特别感兴趣。到目前为止,我了解统计配置文件显示的结果是基于存储在 SQL 服务器中的统计信息,而不是执行查询的结果(例如,'Rows' 列),对吧?

现在,有没有一种方法可以在不同时执行实际查询的情况下从统计配置文件中获取结果?

【问题讨论】:

    标签: sql-server sql-server-2008 statistics query-optimization


    【解决方案1】:

    SET STATISTICS_PROFILE ON 返回实际和估计的行数。

    如果您只想估计行数而不运行查询,请使用 SET SHOWPLAN_ALL ONSET SHOWPLAN_XML ON

    【讨论】:

    • 嗨,当我使用 showplan_all 时,我不会得到“行”列 - 这是否意味着该列仅与查询的实际执行一起可用?
    • 是的。它为您提供EstimateRows 列。实际仅在执行查询时可用。
    • 好吧,我可以说,在我的例子中,我得到的实际行数为 326,估计为 9,66,这似乎是一个非常糟糕的估计:)
    • 这可能不是太糟糕,它不是数量级,但请确保您使用的是可搜索表达式,以便查询优化器获得使用其统计信息的最佳机会。
    • 好的,谢谢 - 最后一个问题,是否可以通过从我的应用程序执行“正常”查询来获取统计信息,这样我就不需要使用管理工作室来获取结果?
    猜你喜欢
    • 2013-11-18
    • 1970-01-01
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多