查询延迟 - 单行选择需要2分钟才能完成

时间:2015-06-30 12:41:01

标签: sql-server sql-server-2008-r2

查询延迟 - 单行选择需要2分钟才能完成

SQL Server 10.50.4000.0(2008 R2 SP2)

步骤1 - 填充测试表

begin tran
truncate table MSDS_PROD_BK..MSDS_Import
insert into    MSDS_PROD_BK..MSDS_Import
select * from  MSDS_PROD..MSDS_Import (nolock)
commit tran

(受影响的行30354行)

(需要32秒才能完成)

(重要说明 - 该表包含VARBINARY列)

步骤2 - 仅为1行选择VARBINARY列(通过新查询窗口,数据库:MSDS_PROD_BK)

SELECT distinct FILE_DATA 
FROM MSDS_Import 
WHERE FILE_NAME = ‘example.pdf’

(需要2分钟才能完成)

(重要说明 - 在运行时,同样的查询从其他新会话和现有会话返回亚秒[响应时间],是的,如果未指定DISTINCT,则不会出现延迟)

(随后,所有此类查询现在返回亚秒[响应时间])

在延迟时间内,运行sp_who2显示没有阻塞,但sp_lock显示:

dbid    ObjId   IndId   Type    Resource    Mode    Status
75  0   0   MD  2(35e8b1ea:b:0)                     Sch-S   GRANT
75  0   0   MD  1(35e8b1ea:a:0)                     Sch-S   GRANT
75  0   0   MD  2(35e8b1ea:a:0)                     Sch-S   GRANT
75  0   0   MD  1(35e8b1ea:b:0)                     Sch-S   GRANT
75  0   0   MD  2(35e8b1ea:9:0)                     Sch-S   GRANT
75  0   0   MD  1(35e8b1ea:8:0)                     Sch-S   GRANT
75  0   0   MD  2(35e8b1ea:8:0)                     Sch-S   GRANT
75  0   0   MD  1(35e8b1ea:9:0)                     Sch-S   GRANT
75  0   0   MD  2(35e8b1ea:3:0)                     Sch-S   GRANT
75  0   0   MD  1(35e8b1ea:3:0)                     Sch-S   GRANT
75  0   0   MD  2(35e8b1ea:1:0)                     Sch-S   GRANT
75  0   0   MD  1(35e8b1ea:1:0)                     Sch-S   GRANT
75  0   0   MD  1(35e8b1ea:1:0)                     Sch-S   GRANT
75  0   0   MD  2(35e8b1ea:7:0)                     Sch-S   GRANT
75  0   0   MD  1(35e8b1ea:6:0)                     Sch-S   GRANT
75  0   0   MD  2(35e8b1ea:6:0)                     Sch-S   GRANT
75  0   0   MD  1(35e8b1ea:7:0)                     Sch-S   GRANT
75  0   0   MD  2(35e8b1ea:5:0)                     Sch-S   GRANT
75  0   0   MD  1(35e8b1ea:4:0)                     Sch-S   GRANT
75  0   0   MD  2(35e8b1ea:4:0)                     Sch-S   GRANT
75  0   0   MD  1(35e8b1ea:5:0)                     Sch-S   GRANT

问题 - 在第一次看到VARBINARY列后,幕后发生了什么?

当然,计划尝试安装SP3

由于

1 个答案:

答案 0 :(得分:0)

with ctefiledate
as
(
	SELECT FILE_DATA 
	FROM MSDS_Import 
	WHERE FILE_NAME = 'example.pdf'
)
select distinct file_data from ctefiledate

检查以上代码

由于