gpt4 book ai didi

sql-server - 同一个店铺流程的时间成本差异巨大

转载 作者:搜寻专家 更新时间:2023-10-30 23:18:08 25 4
gpt4 key购买 nike

我正在使用 SQL Server 2008 R2。

过程其实是这样的:

First, about 2 million records are pulled from a remote server,

then a join is done locally,

the final result is thousands of records.

时间成本从不到 1 分钟到 30 分钟不等。

而在我经历了30分钟的延迟之后,似乎接下来的时间成本都在3分钟左右。

相同的数据,相同的SP。

是什么导致了这种巨大的差异?

更新

我删除了 SP,重新启动了 SQL Server 服务,并重新创建了 SP。执行仅用了 50 秒!

怎么了?

最佳答案

您描述的行为似乎很极端 - 但是(如果您排除客户),有 3 个合乎逻辑的地方需要查看。

首先是数据库服务器上的查询执行。值得使用查询分析器工具来查看它是否使用任何索引 - 到目前为止,数据库查询性能可变的最常见原因是查询没有使用(正确的)索引,因此查询缓存的影响发挥作用很大一部分。 SQL Server 将缓存大量数据,并且您的 proc 的第一次运行会填充该缓存;第二次运行速度更快,因为它命中了缓存。一段时间后,缓存变旧,运行过程再次变慢。

第二种可能性是数据库服务器不稳定 - 它可能不够强大,无法完成它应该做的所有工作。在那种情况下,有一次你很幸运,拥有所有服务器资源;接下来,其他人正在运行查询,而您的速度变慢了。这会使所有查询变慢,而不仅仅是这个 - 所以这听起来不太可能。

第三种可能性是网络怪异——正如 Phil 所说,“数千条记录”并没有什么可怕的,但如果它们很大,并且你的网络充满了小猫的图片,它可能一种影响。同样,这将表现为一般的网络缓慢,并且不太可能解释 30 分钟的延迟......

关于sql-server - 同一个店铺流程的时间成本差异巨大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10347061/

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