Alvaro

Gente


2012/6/25 Alvaro Herrera <alvhe...@alvh.no-ip.org>

>
> Excerpts from Juan's message of lun jun 25 18:15:18 -0400 2012:
> > Gente
> >
> > cuelo una idea que podria ser beneficiosa, si el '99'  es un código o
> > alguna condicion
> > que establezca separación en tus datos algo que andaria de maravillas
> seria
> > hacer un indice con where ,supongamos que la tabla es clientes, y el
> campo
> > id,
> >
> > create index i_99 on clientes( id, nombre_cliente) where
> >  "SUBSTR(id,1,2)='99'"   ;
>
> Suponiendo que ya tenga un índice en el campo nom_cli (y no tenerlo
> sería bastante estúpido) entonces este nuevo índice no aporta mucho; y
> en cambio hará que los updates sean más lentos (recuerda, cada índice
> extra hace más lento cada insert y update).
>

A mi me resulto en casos similares, y la prueba es que cuando le hago un
explain query , explain analyze, el planer elige ese indice y los queries
mejoraron mucho en el tiempo de ejecucion,
salu2
jmdc



>
> Una cosa que podría ser muy útil es asegurarse que no hay una
> transacción para cada update, sino que hay un BEGIN al principio y un
> COMMIT al final de cada bloque de (digamos) 10000 updates.
>
> --
> Álvaro Herrera <alvhe...@alvh.no-ip.org>
>

Responder a