El día 23 de enero de 2009 10:46, Jose Luis Balle <[email protected]> escribió: > La verdad que no se si se puede hacer lo que decis... y si se pudiera > no se si sería recomendable, teniendo en cuenta que un update necesita > actualizar todos los indices necesarios para mantener la coherencia de > la data. > Entonces: > ¿no te conviene ponerle un trigger a la tabla para que los ceros se > agreguen en el momento de la insersion? > ¿probaste borrar el indice, hacer el update y crear nuevamente el indice? > Si el numdoc es numerico, ¿porque lo forzas a varchar? > > 2009/1/23 Gabriel Ferro <[email protected]>: >> Siguiendo un poco con el hilo de mi post anterior, para recordarles tengo >> una funcion que recorre una tabla de personas y le agrega ceros a la >> izquierda a todos los numdoc. >> Creo que la gran demora de esto (lleva casi 72Hs) es porque tengo un indice >> sobre el campo (numdoc) que estoy actualizando y como los los registros se >> insertaron secuencialmente desde archivos planos ordenados por nombres (y >> sin haber existido en ese momento el indice de numdoc)...por ende el UPDATE >> me hace registro por registro pero ordenados por numdoc y ahi es que demora >> tanto.... >> no se si mi cabeza anda mal ya que tengo 38 pirulitos pero creo recordar que >> (en cobol me parece) cuando se hacia una operacion SQL se podia indicar que >> indice usar, se puede hacer en postgres esto? en este caso especial >> indicarle a posgres que no use indices sino que realice un barrido >> secuencial, sin tener que borrar y luego recrear los indices? >>
Una rule sería más rápida creo. Lo que podrías hacer es realizar explains modificando la consula hasta que encuentres la forma de que lo haga secuencial por nombre o sin ordenamiento. Luego de terminado el proceso reindexar la tabla. #enable_bitmapscan = on #enable_hashagg = on #enable_hashjoin = on #enable_indexscan = on #enable_mergejoin = on #enable_nestloop = on #enable_seqscan = on #enable_sort = on #enable_tidscan = on podes poner en set enable_indexscan = off... desde psql >> >> Yahoo! Cocina >> Recetas prácticas y comida saludable >> http://ar.mujer.yahoo.com/cocina/ >> -- >> TIP 8: explain analyze es tu amigo >> > -- > TIP 2: puedes desuscribirte de todas las listas simultáneamente > (envía "unregister TuDirecciónDeCorreo" a [email protected]) > -- Emanuel Calvo Franco ArPUG / AOSUG Member Postgresql Support & Admin -- TIP 4: No hagas 'kill -9' a postmaster
