Hola Juan, si hago eso tendría que crear 3.200 indices para esa tabla, ademas no necesariamente voy a actualizar el registros 1 al 10mil podría ser del 8mil al 15mil etc...
ahora voy a crear la misma función en C para ver si así logro mejores resultados con el procesamiento del texto. alguna otra idea? sld2 El 28 de junio de 2011 15:41, Juan <[email protected]> escribió: > 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 >> > > -- Gino Rojas Tillemann
