El 21 de septiembre de 2011 19: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;
>>
>>
>>
>> Disculpa no entiendo bien la consulta, para qué sirve esta linea:

INNER JOIN persona.persona as pen on pen.per_id = pda.per_id



-- 
Sergio Valdés H.

Responder a