Skip site navigation (1) Skip section navigation (2)

Re: INDICE CON "like"

From: "Antonio Quintana" <aquintana(at)aguasdeformosa(dot)com(dot)ar>
To: "Edwin Quijada" <listas_quijada(at)hotmail(dot)com>,<pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: INDICE CON "like"
Date: 2009-07-30 14:23:02
Message-ID: 01a101ca1121$3f82f360$1c0101c8@aquintana (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Lo que quiero hacer es una busqueda con comodines dentro del campo como ser

"*XXX*", la unica forma es con FTS? , no existe otra?

Muchas Gracias.


----- Original Message ----- 
From: "Edwin Quijada" <listas_quijada(at)hotmail(dot)com>
To: <aquintana(at)aguasdeformosa(dot)com(dot)ar>; <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Thursday, July 30, 2009 10:48 AM
Subject: RE: [pgsql-es-ayuda] INDICE CON "like"



Postgres no indexa con like. Tendras que tirar de FTS porque por ahi no
podras poner indice



*-------------------------------------------------------*
*-Edwin Quijada
*-Developer DataBase
*-JQ Microsistemas

*-Soporte PostgreSQL

*-www.jqmicrosistemas.com
*-809-849-8087
*-------------------------------------------------------*







________________________________
> From: aquintana(at)aguasdeformosa(dot)com(dot)ar
> To: pgsql-es-ayuda(at)postgresql(dot)org
> Subject: [pgsql-es-ayuda] INDICE CON "like"
> Date: Thu, 30 Jul 2009 10:18:54 -0300
>
>
>
>
>
>
>
>
>
>
> Tengo postgres 8.3.4 sobre debian.
>
> Una tabla de 36.000.000 de registros que es un
> padron de usuarios.
>
> Con estos indices.
>
> El problema es que cuando hago:
>
> select * from rrjpadron
>
> where nombre="XXX"
>
> entra por el indice que corresponde.
>
>
>
>
>
> Pero cuando hago
>
> select * from rrjpadron
>
> where nombre like '%XXXX%'
>
> no lo hace por ningun indice.
>
>
>
> Que falta hacer?
>
>
>
>
>
> CREATE TABLE rrjpadron
> (
> num_doc
> numeric(8),
> tipodoc character varying(4),
> sexo
> character(1),
> clase numeric(4),
> nombre character
> varying(20),
> direccion character varying(20),
> ciudad
> character varying(17),
> localidad character varying(17),
>
> provincia character varying(4),
> profesion character
> varying(10)
> )
> WITH (OIDS=FALSE);
> ALTER TABLE rrjpadron OWNER TO
> postgres;
> GRANT ALL ON TABLE rrjpadron TO postgres;
> GRANT ALL ON TABLE
> rrjpadron TO admins WITH GRANT OPTION;
>
>
>
> -- Index: rrjpadron4
>
>
>
> -- DROP INDEX rrjpadron4;
>
>
>
> CREATE INDEX rrjpadron4
> ON
> rrjpadron
> USING btree
> (num_doc, lower(nombre::text),
> lower(sexo::text), lower(provincia::text));
>
>
>
> -- Index: rrjpadron5
>
>
>
> -- DROP INDEX rrjpadron5;
>
>
>
> CREATE INDEX rrjpadron5
> ON
> rrjpadron
> USING btree
> (lower(nombre::text),
> lower(sexo::text), lower(provincia::text));
>
>
>
> -- Index: rrjpadron6
>
>
>
> -- DROP INDEX rrjpadron6;
>
>
>
> CREATE INDEX rrjpadron6
> ON
> rrjpadron
> USING btree
> (nombre, sexo,
> provincia);
>
>
>
> -- Index: rrjpadron7
>
>
>
> -- DROP INDEX rrjpadron7;
>
>
>
> CREATE INDEX rrjpadron7
> ON
> rrjpadron
> USING btree
> (num_doc, nombre, sexo,
> provincia);
>
>
>
>
>
> Antonio
>
>
>
>
_________________________________________________________________


In response to

Responses

pgsql-es-ayuda by date

Next:From: Fernando HeviaDate: 2009-07-30 14:31:37
Subject: RE: Bajo rendimiento en postgresql cuando se lanza un delete
Previous:From: Felipe HernándezDate: 2009-07-30 14:11:44
Subject: Re: Bajo rendimiento en postgresql cuando se lanza un delete

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group