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
