RE: Re[2]: velocidad en consulta con like

From: "Edwin Quijada" <listas_quijada(at)hotmail(dot)com>
To: ebarreto(at)nexusit(dot)com(dot)py
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: RE: Re[2]: velocidad en consulta con like
Date: 2007-06-02 16:07:36
Message-ID: BAY105-F34F6B1CF8EA141D72DFCC3E3230@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


Cuanto duraba la consulta original? En segundos?

Puedes decirnos en cuanto mejoro esto?
Alvaro, puedes explicar el asunto de los patterns, no entendi eso muy bien.

*-------------------------------------------------------*
*-Edwin Quijada
*-Developer DataBase
*-JQ Microsistemas
*-809-747-2787
* " Si deseas lograr cosas excepcionales debes de hacer cosas fuera de lo
comun"
*-------------------------------------------------------*

>From: Ever Daniel Barreto Rojas <ebarreto(at)nexusit(dot)com(dot)py>
>Reply-To: Ever Daniel Barreto Rojas <ebarreto(at)nexusit(dot)com(dot)py>
>To: pgsql-es-ayuda(at)postgresql(dot)org
>Subject: Re[2]: [pgsql-es-ayuda] velocidad en consulta con like
>Date: Tue, 29 May 2007 21:31:19 -0400
>
>álvaro:
>
>El 29/05/2007 a las 08:26 p.m., escribiste:
> > Prueba creando un indice asi:
> > create index foobar on per_nombres (per_apellidos varchar_pattern_ops,
> > per_nombres varchar_pattern_ops)
> > Es posible que sea mas conveniente crear el indice solamente con el
> > apellido. Esto significaria que tendria que recorrer todas las personas
> > de un mismo apellido y filtrar segun el nombre despues, lo que significa
> > recorrer una mayor parte del indice, pero por otro lado cada entrada del
> > indice sera menor por lo tanto el indice sera menor, por lo tanto
> > tendras mejor uso del cache.
>
>explain analyze
>select *
>from vw_personas
>where per_nombres like 'EVER DA%' and per_apellidos like 'BARRETO R%'
>
>"Sort (cost=11.54..11.55 rows=1 width=2252) (actual time=0.480..0.482
>rows=1 loops=1)"
>" Sort Key: persona.per_apellidos, persona.per_nombres"
>" -> Nested Loop (cost=0.00..11.53 rows=1 width=2252) (actual
>time=0.334..0.432 rows=1 loops=1)"
>" Join Filter: (persona.idecivil = ec.idecivil)"
>" -> Nested Loop (cost=0.00..10.44 rows=1 width=2239) (actual
>time=0.318..0.401 rows=1 loops=1)"
>" Join Filter: (persona.idtdoc = td.idtdoc)"
>" -> Index Scan using idx_personas on persona
>(cost=0.00..9.38 rows=1 width=2203) (actual time=0.287..0.361 rows=1
>loops=1)"
>" Index Cond: (((per_apellidos)::text ~>=~ 'BARRETO
>R'::character varying) AND ((per_apellidos)::text ~<~ 'BARRETO
>S'::character varying) AND ((per_nombres)::text ~>=~ 'EVER DA'::character
>varying) AND ((per_nombres)::text ~<~ 'EVER DB'::character varying))"
>" Filter: (((per_nombres)::text ~~ 'EVER DA%'::text) AND
>((per_apellidos)::text ~~ 'BARRETO R%'::text))"
>" -> Seq Scan on tipo_documento td (cost=0.00..1.03 rows=3
>width=40) (actual time=0.006..0.010 rows=3 loops=1)"
>" -> Seq Scan on estado_civil ec (cost=0.00..1.04 rows=4 width=17)
>(actual time=0.004..0.011 rows=4 loops=1)"
>"Total runtime: 3.781 ms"
>
> creo que no hace falta decir nada, esto funcionó de perlas!!!...
> muchísimas gracias!!!
>
> el índice creado:
>CREATE INDEX idx_personas
> ON persona
> USING btree
> (per_apellidos varchar_pattern_ops, per_nombres varchar_pattern_ops);
>
> encontré en el manual lo que me sugeriste bajo "Operator Class",
> hay algun lugar en donde pueda encontrar más información?
>
>Cordiales saludos,
>
>-------------------
>Ever Daniel Barreto Rojas
>e.mail: ebarreto(at)nexusit(dot)com(dot)py :: Nexus Information Technologies
>web: www.nexusit.com.py
>29/05/2007 09:18 p.m.
>
>---------------------
>Cuando menos sabes,
>más crees...
>---------------------
>
>
>---------------------------(fin del mensaje)---------------------------
>TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
>
> http://archives.postgresql.org/pgsql-es-ayuda

_________________________________________________________________
Visita MSN Latino Noticias: Todo lo que pasa en el mundo y en tu paín, ¡en
tu idioma! http://latino.msn.com/noticias/

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message manuel lamas 2007-06-02 16:09:28 Funcion de fecha al formato standard RFC822
Previous Message Mario Cassanelli 2007-06-02 15:41:30 Re: datos de excel a potsgres