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
<[email protected]>escribió:

> :S:S:S, entonces ke se podria hacer alternativo a eso???
>
> El 21 de septiembre de 2011 17:24, Felipe Hernández 
> <[email protected]>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 <
>> [email protected]> 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 
>>> <[email protected]>escribió:
>>>
>>> Envia la query para ver si tiene algo mal..
>>>>
>>>> El 21 de septiembre de 2011 15:51, Alvaro Herrera <
>>>> [email protected]> 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 <[email protected]>
>>>>> -
>>>>> Enviado a la lista de correo pgsql-es-ayuda (
>>>>> [email protected])
>>>>> 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

Responder a