【发布时间】:2011-08-18 15:25:28
【问题描述】:
我正在尝试提高我的一项请求性能。 我的请求由 10 个不同的选择组成。
实际生产查询需要 36 秒才能执行。
如果我显示执行计划,对于一个选择,我的查询成本为 18%。
所以我用 xml 查询 (http://www.codeproject.com/KB/database/InClauseAndSQLServer.aspx) 更改了 in 子句(在此选择中)。
现在执行新查询需要 28 秒,但 sql server 告诉我上述选择的查询成本为 100%。这是我所做的唯一改变。并且在任何查询中都没有并行性。
生产: 36秒,我的选择是18%(其他都是10%)。
新版本: 28秒,我的选择是100%(其他都是0%)。
你知道 sql server 如何计算这个“查询成本”吗? (我开始相信它是随机的或类似的)。
【问题讨论】:
-
当然不是随机的;只是缺少你的理解。
-
感谢您提供这个非常有趣的答案,您介意提高我的知识,这就是我提出问题的目的。
标签: sql-server-2005 sql-execution-plan