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