Problemas con una consulta de unión con un campo de imagen / varbinary
-
20-09-2019 - |
Pregunta
Estoy teniendo algunos problemas con la siguiente consulta:
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
Cuando les cada una de las consultas se ejecuten por separado sin la unión se ejecutan rápidamente (<5 segundos), pero cuando lo funciono el uso de la unión que está tomando para siempre para ejecutar (de hecho todo lo que dice se está ejecutando. No he visto se ejecute correctamente)
En OtherDB.dbo.Signatures el campo de firma es un varbinary (max) y en AppDB.dbo.Signatures el campo es una imagen que es por eso que estoy usando la expresión convertido. ¿Alguien sabe cuál podría ser el problema y cómo puedo ir sobre la fijación él?
Gracias
Solución
Me pregunto si es porque está utilizando una UNION en lugar de un UNION ALL. UNIÓN por sí solo eliminará las filas duplicadas entre los conjuntos de datos. Esto puede ser la causa de un retraso en su campo blob. A ver si hay una diferencia usando UNION ALL.