带有image / varbinary字段的Union Query的问题

时间:2009-12-17 17:29:46

标签: sql-server-2005 performance union varbinary

我在使用以下查询时遇到了一些问题:

SELECT  v.idnum
       ,v.full_name
       ,convert(varbinary(max),s.signature)  as Sig
FROM         AppDB.dbo.v_People1 AS v INNER JOIN
                      OtherDB.dbo.Signatures AS s ON v.idnum = s.idnum

UNION

SELECT  v.idnum
   , v.full_name
   , convert(varbinary(max), s.signature) as Sig
FROM         AppDB.dbo.v_People2 AS v INNER JOIN
                      AppDB.dbo.Signatures AS s ON v.idnum = s.idnum

当我在没有联合的情况下单独运行每个查询时,它们会快速执行(< 5秒),但是当我使用联合运行它时,它将永远执行(事实上,所有它都在执行。我没有看到它成功运行)

在OtherDB.dbo.Signatures中,签名字段是varbinary(max),在AppDB.dbo.Signatures中,字段是一个图像,这就是我使用convert表达式的原因。 有谁知道问题可能是什么以及如何解决它?

由于

1 个答案:

答案 0 :(得分:1)

我想知道是不是因为你使用的是UNION而不是UNION ALL。 UNION本身将删除数据集之间的重复行。这可能会导致blob字段延迟。使用UNION ALL查看是否存在差异。