Re: regexp en pgsql

From: Juan <smalltalker(dot)marcelo(at)gmail(dot)com>
To: Gino Rojas Tillemann <gino(at)masnet(dot)cl>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: regexp en pgsql
Date: 2011-06-28 19:41:58
Message-ID: BANLkTi=EooVbm-e8PcYAD5pDc6eTLsN_7Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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 <gino(at)masnet(dot)cl>

> 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
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2011-06-28 19:43:45 Re: ayuda con función en C
Previous Message Gino Rojas Tillemann 2011-06-28 19:32:56 regexp en pgsql