Skip site navigation (1) Skip section navigation (2)

Re: regexp en pgsql

From: Gino Rojas Tillemann <gino(at)masnet(dot)cl>
To: Juan <smalltalker(dot)marcelo(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: regexp en pgsql
Date: 2011-06-28 19:48:59
Message-ID: BANLkTimi+u_74ORKqckoteOcVDsyycyLfQ@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
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 <smalltalker(dot)marcelo(at)gmail(dot)com> 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 <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
>>
>
>


-- 
Gino Rojas Tillemann

In response to

Responses

pgsql-es-ayuda by date

Next:From: JuanDate: 2011-06-28 19:51:48
Subject: Re: regexp en pgsql
Previous:From: Leonardo A. MarcheseDate: 2011-06-28 19:46:16
Subject: BAJA DEL FORO

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group