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