diferencia entre imagenes

11/03/2008 - 10:50 por reo | Informe spam
tengo una tabla con un campo de tipo imagen, llamado foto y quisiera obtener
para dos registros si la imagen ha cambiado

yo utilizo

select a1.codigo

from tabla as a1 with(NOLOCK),tabla as a2 with(NOLOCK)

where
substring(a1.codigo,6,len(a1.codigo))=substring(a2.codigo,6,len(a2.codigo))

and
isnull(convert(varchar(MAX),convert(varbinary(16),a1.foto)),'')<>isnull(convert(varchar(MAX),convert(varbinary(16),a2.foto)),'')

que efectivamente funciona , pero tarda mucho , cuando se trata de muchos
registros



NOTA: los dos registros a comparar coinciden en la parte final, ejemplo

001xxx se ha de comparar con el registro de codigo 002xxx

001yyy se ha de comparar con el registro de codigo 002yyy

etc...


¿existe alguna otra manera de comparar si la imagen es igual o no?

gracias
 

Leer las respuestas

#1 Jesús López
11/03/2008 - 11:28 | Informe spam
Una solución a problema de rendimiento sería guardar un hash de las
imágenes, y en vez de comparar las imágenes comparar los hash.

Saludos:

Jesús López
www.solidq.com


"reo" escribió en el mensaje
news:
tengo una tabla con un campo de tipo imagen, llamado foto y quisiera
obtener para dos registros si la imagen ha cambiado

yo utilizo

select a1.codigo

from tabla as a1 with(NOLOCK),tabla as a2 with(NOLOCK)

where
substring(a1.codigo,6,len(a1.codigo))=substring(a2.codigo,6,len(a2.codigo))

and
isnull(convert(varchar(MAX),convert(varbinary(16),a1.foto)),'')<>isnull(convert(varchar(MAX),convert(varbinary(16),a2.foto)),'')

que efectivamente funciona , pero tarda mucho , cuando se trata de muchos
registros



NOTA: los dos registros a comparar coinciden en la parte final, ejemplo

001xxx se ha de comparar con el registro de codigo 002xxx

001yyy se ha de comparar con el registro de codigo 002yyy

etc...


¿existe alguna otra manera de comparar si la imagen es igual o no?

gracias

Preguntas similares