Te la ponemos mas facil. Mete eso y danos el explain

    SELECT
    FJ.FECHA_JORNADA AS FECHA, 
    PH.LEGAJO, P.NOMBRE,  P.APELLIDO, G.DESCRIPCION AS SECTOR,
     TJ.NOMBRE as DETALLE, 
     EXTRACT (HOUR FROM AC.HORARIO) || ':'  ||
     EXTRACT (MINUTE FROM AC.HORARIO) AS HORARIO, 
     EXTRACT (HOUR FROM
     AC.FICHADA) || ':'  || EXTRACT (MINUTE FROM AC.FICHADA) AS FICHADA,
     J.DESCRIPCION AS CAUSA ,
     TJ.ID_TIPO_JUSTIFICACION AS ID_CONTADOR, 
     PH.ID_PERSONA 
     FROM  
        FECHA_JORNADA FJ, 
        PERSONA_HORARIO PH,
        PERSONA P, 
        GRUPO G, 
        REL_GRUPO_PERSONA RGP, 
        AGRUPACION A,
        TIPO_JUSTIFICACION TJ, 
        ANORMALIDAD_CALCULO AC LEFT JOIN JUSTIFICACION    J  ON 
J.ID_JUSTIFICACION = AC.ID_JUSTIFICACION 
    WHERE
     ac.id_fecha_jornada = fj.id_fecha_jornada and 
     ac.id_persona = ph.id_persona and 
     ac.id_persona = p.id_persona  AND 
     RGP.ID_GRUPO = G.ID_GRUPO AND 
     RGP.ID_PERSONA = P.ID_PERSONA  AND
     G.ID_AGRUPACION=A.ID_AGRUPACION AND 
     A.ES_SECTOR='S'  AND
     AC.ID_TIPO_JUSTIFICACION = TJ.ID_TIPO_JUSTIFICACION  AND
     AC.ID_ANORMALIDAD_CALC_REEMPLAZO IS NULL  AND 
     AC.ID_PROCESO IN (
                        SELECT MAX(PROCESO_PERSONA_JORNADA.ID_PROCESO)
                        FROM PROCESO_PERSONA_JORNADA 
                        WHERE
                            AC.ID_PERSONA = PROCESO_PERSONA_JORNADA.ID_PERSONA 
AND
                            AC.ID_FECHA_JORNADA = 
PROCESO_PERSONA_JORNADA.ID_FECHA_JORNADA
                       )  and
    p.id_empresa= '2' and FJ.FECHA_JORNADA >= 
TO_DATE('2010.10.06','YYYY.MM.DD')  and 
    FJ.FECHA_JORNADA <= TO_DATE('2010.10.06','YYYY.MM.DD')  and 
    PH.legajo IN ('1030218') and
    AC.ID_TIPO_JUSTIFICACION IN ('3','5','4','6','2','10','9','1','7')
    Order by FJ.FECHA_JORNADA, PH.ID_PERSONA

*-------------------------------------------------------* 
*-Edwin Quijada 
*-Developer DataBase 
*-JQ Microsistemas 

*-Soporte PostgreSQL

*-www.jqmicrosistemas.com
*-809-849-8087
*-------------------------------------------------------*





Subject: Re: [pgsql-es-ayuda] tunning
From: [email protected]
To: [email protected]
CC: [email protected]; [email protected]; 
[email protected]
Date: Wed, 6 Oct 2010 12:58:50 -0400

 
 
 
> 
> LOG:  duration: 147729.794 ms  statement: select  FJ.FECHA_JORNADA AS
> FECHA, PH.LEGAJO, P.NOMBRE,  P.APELLIDO, G.DESCRIPCION AS SECTOR,
> TJ.NOMBRE as DETALLE, EXTRACT (HOUR FROM AC.HORARIO) || ':'  ||
> EXTRACT (MINUTE FROM AC.HORARIO) AS HORARIO, EXTRACT (HOUR FROM
> AC.FICHADA) || ':'  || EXTRACT (MINUTE FROM AC.FICHADA) AS FICHADA,
> J.DESCRIPCION AS CAUSA         ,TJ.ID_TIPO_JUSTIFICACION AS
> ID_CONTADOR, PH.ID_PERSONA from  FECHA_JORNADA FJ, PERSONA_HORARIO PH,
> PERSONA P, GRUPO G, REL_GRUPO_PERSONA RGP, AGRUPACION A,
> TIPO_JUSTIFICACION TJ, ANORMALIDAD_CALCULO AC LEFT JOIN JUSTIFICACION
> J            ON J.ID_JUSTIFICACION = AC.ID_JUSTIFICACION where
> ac.id_fecha_jornada = fj.id_fecha_jornada and ac.id_persona =
> ph.id_persona and ac.id_persona = p.id_persona  AND RGP.ID_GRUPO =
> G.ID_GRUPO AND RGP.ID_PERSONA = P.ID_PERSONA  AND
> G.ID_AGRUPACION=A.ID_AGRUPACION AND A.ES_SECTOR='S'  AND
> AC.ID_TIPO_JUSTIFICACION = TJ.ID_TIPO_JUSTIFICACION  AND
> AC.ID_ANORMALIDAD_CALC_REEMPLAZO IS NULL  AND AC.ID_PROCESO IN (
> SELECT MAX(PROCESO_PERSONA_JORNADA.ID_PROCESO)
> FROM PROCESO_PERSONA_JORNADA WHERE
> AC.ID_PERSONA           = PROCESO_PERSONA_JORNADA.ID_PERSONA AND
> AC.ID_FECHA_JORNADA = PROCESO_PERSONA_JORNADA.ID_FECHA_JORNADA)  and
> p.id_empresa= '2' and FJ.FECHA_JORNADA >= TO_DATE('2010.10.06',
> 'YYYY.MM.DD')  and FJ.FECHA_JORNADA <= TO_DATE('2010.10.06',
> 'YYYY.MM.DD')  and PH.legajo IN ('1030218') and
> AC.ID_TIPO_JUSTIFICACION IN ('3','5','4','6','2','10','9','1','7')
> order by FJ.FECHA_JORNADA, PH.ID_PERSONA
 
Ahora puede seguir el explain de es consulta  y analizar donde esta el
cuello de botella,
 
-- 
Saludos,
Gilberto Castillo
Edificio Beijing. Miramar Trade Center. Etecsa.
Miramar, La Habana.Cuba.

--- 
This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE running at 
host imx3.etecsa.cu
Visit our web-site: , 
-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda                               
          

Responder a