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)
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 |