Re: indices sobre datos binarios

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Mª José Sempere <mjose(at)pixelart(dot)es>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: indices sobre datos binarios
Date: 2004-12-03 15:42:18
Message-ID: 20041203154218.GA23159@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Fri, Dec 03, 2004 at 01:02:29PM +0100, Mª José Sempere wrote:

Hola,

> Hemos definido una tabla uno de cuyos campos ha de ser binario.
> Queremos que en dicha tabla no exista más de un registro con el mismo campo
> (binario) identico. Hemos visto que sobre un campo de tipo
> bytea puede declararse un índice único, pero sobre uno de tipo blob no.

Si los datos pueden ser arbitrariamente grandes, probablemente no va a
funcionar. Hazlo manualmente: crea un indice unico no sobre el campo
mismo, sino sobre md5() de el. md5 no te asegura que sea completamente
unico, pero la probabilidad de colisiones es muy baja.

algo como
create unique index indice_unico on tabla (md5(campo_bytea));

Alguna gente dice que deberias crear indices unicos usando mas de una
funcion de hashing ... por ej.

create unique index indice_unico on tabla (md5(campo_bytea), sha1(campo_bytea));

--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
"Las mujeres son como hondas: mientras más resistencia tienen,
más lejos puedes llegar con ellas" (Jonas Nightingale, Leap of Faith)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2004-12-03 15:43:48 Re: Descarga de Postgresql
Previous Message Magnos 2004-12-03 14:24:34 ODBC