Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] optimización de busqueda por like

From: Rodriguez Fernando <rodriguez(at)ort(dot)edu(dot)uy>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] optimización de busqueda por like
Date: 2011-11-16 15:43:41
Message-ID: 4EC3DA2D.8080401@ort.edu.uy
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 16/11/2011 01:22 p.m., Cesar Erices escribió:
> El 15 de noviembre de 2011 14:11, Anita Ramirez <anita(dot)ins(at)gmail(dot)com
> <mailto:anita(dot)ins(at)gmail(dot)com>> escribió:
>
>
> Buenas tardes,
>
> Resulta que tengo una función que realiza varias validaciones,
> inserciones etc. Una de ellas es realizar búsqueda por like a una
> tabla. Básicamente tengo dos tablas "alumno" y "persona", a cada
> alumno se debe buscar en la tabla persona, y para ello solo
> contamos con nombres y apellidos (nombre completo, es decir en un
> solo campo y campos separados, es decir nombre1, nombre2,
> apellido1, apellido2), por lo que inicialmente procedemos a buscar
> por "=", considerando mayusculas, minusculas, caracteres
> especiales, si eso no emite resultado procedemos a buscar por like
> en los campos separados, y si nuevamente no emite resultados, se
> realiza nuevamente la búsqueda por like en el campo que contiene
> el nombre y apellido completo.
>
> La tabla persona en la que se realiza la búsqueda tiene
> aproximadamente 580000 registros. Probé con indices btree, y
> también leí acerca de varchar_pattern_ops, pero con éste ultimo no
> es posible utilizar "es igual", por lo que no me resulta.
>
> Tal cual como se encuentra ahora por 50 registros tarda 6 minutos
> aproximadamente, lo cual es mas que excesivo.
>
> Alguna idea?
>
> Desde ya, gracias.
>
> Ana Ramirez.-
>
>
> Revisa los indices y pk, habitualmente esto se produce por un ml
> diseño de BBDD
>
> atte.
>
> --
> Sin más que decir se despide de Usted, muy atentamente
>
> Cesar Erices Vergara
> Ingeniero en Gestión Informática
> Analista de Sistema
>
> Santiago - Chile
>
> Se certificó que el correo no contiene virus.
> Comprobada por AVG - www.avg.es <http://www.avg.es>
> Versión: 2012.0.1869 / Base de datos de virus: 2092/4620 - Fecha de la
> versión: 16/11/2011
>
Hola, que caracteristicas tiene el equipo de la bd.
Como es la cnsulta de like que estas usando?
es algo asi : select * from persona where coalesce(apellido1,'')||'
'||colaesce(apellido2,'')||' '||coalesce(nombre1,'')||'
'||colaesce(nombre2,'') ilike '%rodriguez fernando%'

saludos fernando rodriguez

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2011-11-16 15:52:15 Re: Rv: recorrer old
Previous Message Cesar Erices 2011-11-16 15:22:35 Re: [pgsql-es-ayuda] optimización de busqueda por like