查询延迟-单行选择需要超过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-只选择一行的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
谢谢
发布于 2015-06-30 22:49:03
with ctefiledate
as
(
SELECT FILE_DATA
FROM MSDS_Import
WHERE FILE_NAME = 'example.pdf'
)
select distinct file_data from ctefiledate
用上面的代码检查
谢谢
https://stackoverflow.com/questions/31138620
复制相似问题