From: | Oswaldo Hernández <listas(at)soft-com(dot)es> |
---|---|
To: | Jaime Casanova <systemguards(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Expresiones en Primary Key |
Date: | 2005-04-28 08:53:52 |
Message-ID: | 4270A4A0.1090502@soft-com.es |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Jaime Casanova escribió:
> On 4/26/05, Oswaldo Hernández <listas(at)soft-com(dot)es> wrote:
>
>>
>>Estoy haciendo pruebas con indices utilizando expresiones en vez de una
>>lista de campos.
>>
>
> A que te refieres con usar expresiones como clave? una suma por ejemplo?
Si.
La sentencia 'create index' permite que el indice este formado por una
expresion en vez de un campo simple.
Por ejemplo, si tienes en una tabla precios y descuentos, pero las
busquedas las realizas por precios netos puedes tener el indice con
estos calculados:
create table precios (
precio numeric(10,2),
porcentaje_dto numeric(3,2)
);
create index preciosnetos on precios
(precio - (precio * porcentaje_dto / 100));
En teoria, esto permite que el siguiente select realice la busqueda
utilizando el indice, con el consiguiente aumento de velocidad:
select *
from precios
where (precio - (precio * porcentaje_dto / 100)) = 100;
(Corregirme si estoy equivocado)
Saludos,
--
*****************************************
Oswaldo Hernández
oswaldo(at)soft-com(dot)es
*****************************************
From | Date | Subject | |
---|---|---|---|
Next Message | Oswaldo Hernández | 2005-04-28 10:09:57 | Schema propietario |
Previous Message | Felipe Barousse Boue | 2005-04-28 05:33:05 | Re: non superuser limit exeeded |