谜团:SQL查询与DataLength()标准挂起

时间:2013-01-23 22:46:37

标签: sql sql-server-2008 tsql query-optimization

我有一张叫做照片的桌子。它有超过3000行,包括一个名为Photo的image类型字段。

此查询即时运行:

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

可能会发生什么?

1 个答案:

答案 0 :(得分:0)

我不确定为什么你看到了这个问题,但我认为你可以通过在表格中添加computed column来保存照片的长度来解决它,也许与该新专栏的索引相关联。