我在使用以下查询时遇到了一些问题:
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表达式的原因。 有谁知道问题可能是什么以及如何解决它?
由于
答案 0 :(得分:1)
我想知道是不是因为你使用的是UNION而不是UNION ALL。 UNION本身将删除数据集之间的重复行。这可能会导致blob字段延迟。使用UNION ALL查看是否存在差异。