0

我有一个查询需要很长时间才能运行(相对而言)。它检索具有多varbinary(max)列的许多行。毫无疑问,这个查询需要优化——但我的问题非常具体到我在 SQL 活动监视器中看到的不断变化的“任务状态”。

每隔 5 秒左右,任务状态就会从挂起变为运行,然后再返回。这意味着什么?

注意:我可能会提出一个关于优化此类查询的单独问题 - 但我现在不是在问这个问题,我是在非常具体地询问状态的快速变化。

不是重复的,因为:

我问的是任务状态快速连续的变化,我不是问挂起是什么意思。我在问(如果挂起意味着等待 I/O)为什么它会等待 I/O,然后不是,很快,每个查询多次。

4

1 回答 1

2

这是正常的,SUSPENDED 仅仅意味着会话正在等待一个事件,例如 I/O,来完成。您会发现会话相当频繁地进入和退出此状态。

您可以在此处查看本文档中不同状态的说明:

sp_who (Transact-SQL)

于 2016-06-21T10:06:01.593 回答