From: | Felipe Hernández <pipelx(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Rendimiento Query |
Date: | 2011-09-21 22:51:27 |
Message-ID: | CAPwoUi2RdU78Y4fmfQM_X58TnP6JgKi-o2V2=a4Hg7W42aiJLQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
lo que yo haria seria primero ver si en la consulta hay registros repetidos
y dejar un solo registro con un subselect, luego si aplicaria la condicion
de busqueda del nombre siempre y cuando aplique los criterios de busqueda es
decir si quiero que al poner como 'felipe & luis' salgan los 'luis felipe'
lo haria asi, si no lo haria con like que busca mas rapido.
El 21 de septiembre de 2011 17:25, CarloS Sing Ramos
<carlossing(at)gmail(dot)com>escribió:
> :S:S:S, entonces ke se podria hacer alternativo a eso???
>
> El 21 de septiembre de 2011 17:24, Felipe Hernández <pipelx(at)gmail(dot)com>escribió:
>
> En 14 millones de registros esto hace lenta tu consulta
>>
>> pda.pda_nombreCompleto::tsvector @@ p_valor::tsquery
>>
>>
>> El 21 de septiembre de 2011 16:55, CarloS Sing Ramos <
>> carlossing(at)gmail(dot)com> escribió:
>>
>>
>>> CREATE OR REPLACE FUNCTION persona.spu_buscarPersonaxNombre(
>>> IN p_valor character varying (300),
>>> IN p_tipo numeric
>>> )
>>> RETURNS TABLE(
>>> pda_nombreCompleto character varying,
>>> pdi_numeroDocIde character varying,
>>> pen_fechaNacimiento timestamp,
>>> pen_sexo character
>>> ) AS
>>> $BODY$
>>> BEGIN
>>> RETURN query
>>> SELECT
>>> pda.pda_nombreCompleto,
>>> pdi.pdi_numeroDocIde,
>>> pna.pen_fechaNacimiento,
>>> pna.pen_sexo
>>> FROM
>>> persona.personaDatos AS pda
>>> INNER JOIN persona.persona as pen on pen.per_id = pda.per_id
>>> INNER JOIN persona.personaDocumentoIdentidad as pdi on pdi.per_id =
>>> pda.per_id
>>> INNER JOIN persona.personaNatural as pna on pda.pda_id = pna.pda_id
>>>
>>> WHERE pda.pda_nombreCompleto::tsvector @@ p_valor::tsquery
>>> LIMIT 100;
>>> END;
>>> $BODY$
>>> LANGUAGE PLPGSQL VOLATILE
>>> COST 100
>>> ROWS 100;
>>>
>>>
>>>
>>>
>>> El 21 de septiembre de 2011 16:54, Felipe Hernández <pipelx(at)gmail(dot)com>escribió:
>>>
>>> Envia la query para ver si tiene algo mal..
>>>>
>>>> El 21 de septiembre de 2011 15:51, Alvaro Herrera <
>>>> alvherre(at)alvh(dot)no-ip(dot)org> escribió:
>>>>
>>>>>
>>>>> Excerpts from CarloS Sing Ramos's message of mié sep 21 17:38:33 -0300
>>>>> 2011:
>>>>> > Buenas, tengo una BD con 14 000 000 (14 millones) de registros y
>>>>> cuando hago
>>>>> > una query llamando a un Store que tengo kreado se demora mas de 73
>>>>> 000 ms,
>>>>> > es algo lenta la consulta, quisiera saber como se puede optimizar la
>>>>> > consulta o que se podria hacer en esos casos??
>>>>>
>>>>> http://wiki.postgresql.org/wiki/Slow_Query_Questions
>>>>>
>>>>> --
>>>>> Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
>>>>> -
>>>>> Enviado a la lista de correo pgsql-es-ayuda (
>>>>> pgsql-es-ayuda(at)postgresql(dot)org)
>>>>> Para cambiar tu suscripción:
>>>>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> fElIpE
>>>>
>>>
>>>
>>>
>>> --
>>> Salu2
>>> Linux Register User #525697
>>> --==[[Carlos Sing]]==--
>>>
>>
>>
>>
>> --
>> fElIpE
>>
>
>
>
> --
> Salu2
> Linux Register User #525697
> --==[[Carlos Sing]]==--
>
--
fElIpE
From | Date | Subject | |
---|---|---|---|
Next Message | Gilberto Castillo Martínez | 2011-09-22 12:13:02 | Sobre la Documentación (nuevo) |
Previous Message | Felipe Hernández | 2011-09-21 22:24:22 | Re: Rendimiento Query |