From: | Andrés P(dot)P(dot) <solopostgres(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | lpad vs || |
Date: | 2010-09-03 01:45:30 |
Message-ID: | AANLkTinv7gcEQDNoVLjUkN5aaGUi4Z1CpVX-AiyT-NEz@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Estimados listeros
Necesito confirmación a lo siguiente: hice dos updates sobre tablas cuya
definición y carga fueron iguales:
*En Desarrollo :*
upd1) update tabla1 set valor = lpad(substr(valor,4,9),11,76) where
length(valor)=12; 21867.891 ms
upd2) update tabla2 set valor = 76||substr(valor,4,9) where
length(valor)=12; *21119.145 ms*
(valor es la PK de la tabla,varchar y no hay más índices)
Ambas tablas de pruebas tienen *1.300.000* registros, 650.000 tienen un
length(valor)=12 y los 650.000 restantes un length(valor)=13.
*Real :*
En producción la tabla es de *13.000.000* de registros. Sobre ésta debo
hacer 2 updates.. para length(valor)=12 y 13.
El server está levemente mejor equipado en procesadores y ram que en
desarrollo.(y asumiendo lo mismo en velocidad de disco).
Preguntas:
- Asumo que el upd2 seguirá siendo más rápido?
- Dejo el vacuum para el final?.. o después del 2do. update?
- Asumo que el tiempo será mayor en la misma proporción del nuevo nro. de
registros??. Osea puedo pensar que demorará aprox. *200000* ms??.. o es
mucho optimismo?.. :D .... (cargar la tabla de prueba con 1.300.000 de
registros fue rápido... pero al recrear la tabla de prueba y querer cargarla
con 13.000.000 se demoró demasiado... por eso hago la consulta sobre la
proporción para el update)
y lo último: tienen alguna alternativa para estos updates en 8.2.5 ??..
vi por ahí una línea para hacer un update único mezclando en el set el
lenght y el substr.... pero no me pareció eficiente..
Saludos
AP.
From | Date | Subject | |
---|---|---|---|
Next Message | German Gomez | 2010-09-03 06:35:02 | RE: d |
Previous Message | Alvaro Herrera | 2010-09-02 16:57:43 | Re: log_min_duration_statement |