gpt4 book ai didi

sql-server-2005 - 执行计划中的 "Query cost"是如何工作的?

转载 作者:行者123 更新时间:2023-12-04 06:16:58 25 4
gpt4 key购买 nike

我正在尝试提高我的请求性能之一。
我的请求由 10 个不同的 select 组成。

实际的生产查询需要 36 秒才能执行。

如果我显示执行计划,对于一个选择,我的查询成本为 18%。

因此,我使用 xml 查询 (http://www.codeproject.com/KB/database/InClauseAndSQLServer.aspx) 更改了 in 子句(在此选择中)。

新查询现在需要 28 秒来执行,但是 sql server 告诉我上面的选择有 100% 的查询成本。这是我所做的唯一改变。并且在任何查询中都没有并行性。

生产 :
36 秒,我的选择是 18%(其他是 10%)。

新版本 :
28 秒,我的选择是 100%(其他都是 0%)。

你知道 sql server 如何计算这个“查询成本”吗? (我开始相信它是随机的或类似的东西)。

最佳答案

查询成本是 CPU 周期、内存和磁盘 IO 组合的无单位度量。

您经常会看到成本更高但执行时间更快的运营商或计划。

这主要是由于上述三个组件的速度不同。 CPU 和内存速度相当快,也很少成为瓶颈。如果您可以将一些压力从磁盘 IO 子系统转移到 CPU,则查询可能会显示更高的成本,但执行速度应该会快得多。

如果您想获得有关特定查询执行的更多详细信息,可以使用:

SET STATISTICS IO ON
SET STATISTICS TIME ON

这会将有关 CPU 周期、计划创建和页面读取(从磁盘和内存)的详细信息输出到消息选项卡。

关于sql-server-2005 - 执行计划中的 "Query cost"是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7109969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com