El día 18 de mayo de 2009 14:15, Alvaro Herrera
<alvhe...@alvh.no-ip.org> escribió:
> 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
>

Lei mal (lei cualquiera), habia entendido que el problema era la
cantida de filas, no el tamaño del campo. tenes razón...

> 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).
>

Creo que para este caso sería conveniente que utilizará full text search, creo
que ya lo habias dicho.

>> 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.
>

No entiendo cual sería la inconsistencia, no ocurriría lo mismo si
tiene los índices en el lugar por defecto ?... (obviando el particionamiento)



-- 
      Emanuel Calvo Franco
        Sumate al ARPUG !
        ( www.arpug.com.ar)
    ArPUG / AOSUG Member
--
TIP 2: puedes desuscribirte de todas las listas simultáneamente
    (envía "unregister TuDirecciónDeCorreo" a majord...@postgresql.org)

Responder a