From: | Daniel Hernández <dhernand(at)scio(dot)cl> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Obtener el más cercano |
Date: | 2008-06-26 19:53:24 |
Message-ID: | 20080626155324.25a1228b.dhernand@scio.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Jaime Casanova escribió:
> > SELECT * FROM t ORDER BY abs(x - x0) LIMIT 1;
>
> no entiendo como resuelve tu problema este SELECT, podrias dar un
> ejemplo poniendo valores?
La idea es que si tienes los valores de x = {1,12,30,102,340,323} y
buscas con x0 = 104 te entregue el registro con x = 102.
> > Pero me tinca que podría estar calculando la función abs para todos los
> > registros de la tabla, lo que no aprovecharía el índice B-Tree en la
> > columna x.
>
> creas un indice funcional
> create index idx1 on tabla (abs(x));
No sabía que existían los índices funcionales, pero de todos modos la
solución que me dio Alvaro Herrera es lo que quería.
Saludos
--
Daniel Hernández
http://www.scio.cl
From | Date | Subject | |
---|---|---|---|
Next Message | Johnny Verdugo V. | 2008-06-26 20:04:57 | dar de baja |
Previous Message | Daniel Hernández | 2008-06-26 19:45:44 | Re: Obtener el más cercano |