SQL 过程的运行时间差异很大

发布于 2024-07-07 09:52:25 字数 191 浏览 4 评论 0原文

我有一个应用程序在 SQL Server 2000 上运行一个巨大的存储过程。通常需要大约 1 分钟才能完成,但有时会花费更长的时间。 刚才我在我的测试系统中连续运行了三次。 分别用了 1 分 12 分、1 分 23 分和 55 分 25 秒。 什么会导致这种行为? 数据库中还有其他事情发生,所以我想知道它是否与锁有关。 我怎样才能在行为中捕捉到这一点?

I have an application that runs a huge stored procedure on SQL Server 2000. Usually it takes about 1 minute to complete, but occasionally it will take MUCH longer.
Just now I ran it three times in a row in my test system. It took 1:12, 1:23, and 55:25.
What would cause that behavior? There are other things going on in the database, so I wonder if it has something to do with locks. How can I catch this in the act?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

萌酱 2024-07-14 09:52:27

这可能是参数嗅探:根据输入,Sql Server 选择了不同的查询计划。

另一种可能性是一个单独的查询同时运行并锁定了所有内容。

It's probably parameter sniffing: based on the input, Sql Server chose a different query plan.

Another possibility is that a separate query was running at the same time and locked everything up.

他不在意 2024-07-14 09:52:26

创建跟踪并在 Profiler 中检查它。 这至少应该指出问题所在——在你的程序中还是其他地方。

Create a trace and examine it in Profiler. That should at least point towards where the problem lies - in your procedure or elsewhere.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文