Emanuel Calvo Franco escribió:

> En ese caso no le conviene crear indices particionados?
> i.e:
> parapruebas=# create index ix_datos on datos (texto) where texto ~ 'a%';
> CREATE INDEX
> (es un ejemplo burdo, pero creo que se entiende :)

No soluciona el problema, porque el problema es que el campo es muy
largo.  Lo que podría hacer es lo siguiente

create index ix_substr_datos on datos (substring(1, 2000, texto));
-- o como sea el orden de argumentos de substring

y obviamente modificar las consultas para agregar un substring en el
where también (además de la cláusula original).

> Separar los indices en un tablespace alamcenado en un lugar
> de más rápido acceso?

Yo dudo mucho de la robustez de esta idea, porque si hay una caída
tienes que corregir los catálogos y hacer un reindex.

-- 
Alvaro Herrera                               http://planet.postgresql.org/
"La realidad se compone de muchos sueños, todos ellos diferentes,
pero en cierto aspecto, parecidos..." (Yo, hablando de sueños eróticos)
--
TIP 7: no olvides aumentar la configuración del "free space map"

Responder a