我有一张名为Photos的表格。它有3000多行,包括一个名为Photo的image
类型字段。Mystery:SQL查询挂起DataLength()条件
此查询运行瞬间:
Select PhotoFileName, DATALENGTH(Photo)
From Photos
Order by DATALENGTH(Photo)
这个查询间歇挂起(有时需要几分钟来完成,在完成一次在此之后,立即运行)。
Select PhotoFileName, DATALENGTH(Photo)
From Photos
Where DATALENGTH(Photo)>0
同样的,这个查询:
Select PhotoFileName, DATALENGTH(Photo)
From Photos
Where Photo is not NULL
怎么可能被回事?
执行计划是什么样的?为慢速和快速版本输出'set statistics io on'?当慢查询在'sys.dm_os_waiting_tasks'中运行任何等待类型? –
当查询需要几分钟时间时,在另一个查询窗口中,从sys.dm_exec_requests中检查session_id等待的内容。 –
也许你发现这个“固定”/“关闭,因为不会修复”亲吻表亲微软连接项目:[与varbinary最大写入存储过程和DATALENGTH无限期运行](http://connect.microsoft.com/SQLServer/反馈/信息/ 642077 /存储过程与 - VARBINARY-MAX-写和数据长度 - 运行 - 无限期#)。 – HABO