Hola gente Gino por lo que veo en tu query te convendria tener un index en la expresion where o sea my_table tenga un index con where . o mejor.
create index my_nombre_de_index on mytable( id ) where id between 1 and 10000 ; eso generalmente acelera las cosas. salvo claro esta q ya lo tengas salu2 mdc 2011/6/28 Gino Rojas Tillemann <[email protected]> > Hola a todos, > > hace un par de semanas estoy peleando con mi DB y las expresiones > regulares, cada vez que proceso 10 mil registros de un universo de 32 > millones el motor demora 7 minutos pegados sin variación en procesar una > cadena de texto por cada registro; para lograr esto creé una función en > plpgsql con (de momento) 40 expresiones regulares (en algunos casos bastante > complejas) y actualizo un campo de una tabla con el resultado del proceso, > algo como esto: > > update my_table set campo_final=fn_regexp(campo1||campo2||campo3) where id > between 1 and 10000 > > la función "fn_regexp" contiene la lógica de las expresiones regulares y la > tabla my_table es de 32 millones de registros > > si alguien tiene alguna idea de como optimizar la ejecución de las > expresiones regulares será de gran ayuda, gracias.. > > haaa y por fa no me sugieran crear varios threads con otro lenguaje ya que > lo que busco es bajar mis actuales 7 minutos de proceso > > > saludos > > -- > Gino Rojas Tillemann >
