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

INDICE CON "like"

From: "Antonio Quintana" <aquintana(at)aguasdeformosa(dot)com(dot)ar>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: INDICE CON "like"
Date: 2009-07-30 13:18:54
Message-ID: 018801ca1118$9ab52310$1c0101c8@aquintana (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
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

Responses

pgsql-es-ayuda by date

Next:From: Edwin QuijadaDate: 2009-07-30 13:46:56
Subject: RE: Bajo rendimiento en postgresql cuando se lanza un delete
Previous:From: Cesar EricesDate: 2009-07-30 12:54:20
Subject: Re: Bajo rendimiento en postgresql cuando se lanza un delete

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