2008/12/30 Edwin Quijada <[email protected]>:
> ----------------------------------------
>> Date: Tue, 30 Dec 2008 16:23:12 -0200
>> From: [email protected]
>> To: [email protected]; [email protected]
>> Subject: Re: [pgsql-es-ayuda] Help
>>
>> 2008/12/30 kervin licett :
>>> select
>>> estudiante.nombre_1,estudiante.nombre_2,estudiante.apellido_1,estudiante.apellido_2,estudiante.cedula,registro_academico_estudiante.id_estudiante
>>> from estudiante INNER JOIN registro_academico_estudiante
>>> ON(registro_academico_estudiante.id_estudiante=estudiante.id)and
>>> (registro_academico_estudiante.id_profesor=$session_profesor)and(registro_academico_estudiante.seccion=$seccion)and(registro_academico_estudiante.materia=$materia)
>>> and(registro_academico_estudiante.periodo=$periodo)order by
>>> estudiante.cedula;
>>
>> Por favor tabula la consulta (dale un formato legible)
>>
>>> Feliz Navidad para todos los del çgrupo le escribo para saber si me puede
>>> ayudar con esta consulta que estoy haciendo que m e da la respuesta pero muy
>>> lenta y apenas temgo cuatro registro en la tabla como haria para mejorara el
>>> mismo
>>>
>>
>> Realiza el explain analyze de la consulta y pega el resultado. (desde el 
>> psql)
>>
>> EXPLAIN ANALYZE consulta;
>>
>> --
>> Emanuel Calvo Franco
>> Syscope Postgresql Consultant
>> ArPUG / AOSUG Member
>> --
>> TIP 7: no olvides aumentar la configuración del "free space map"
>


> Mejor aun el EXPLAIN ANALYZE pegalo aqui y manda el link que te genero.
>
> http://explain-analyze.info/
>
>
> *-------------------------------------------------------*
> *-Edwin Quijada

select
   estudiante.nombre_1,
   estudiante.nombre_2,
   estudiante.apellido_1,
   estudiante.apellido_2,
   estudiante.cedula,
   registro_academico_estudiante.id_estudiante
from
   estudiante
       INNER JOIN registro_academico_estudiante
            ON (registro_academico_estudiante.id_estudiante=estudiante.id)
                and
(registro_academico_estudiante.id_profesor=$session_profesor)
                and (registro_academico_estudiante.seccion=$seccion)
                and (registro_academico_estudiante.materia=$materia)
                and (registro_academico_estudiante.periodo=$periodo)
order by
    estudiante.cedula;

Bueno, veo que usas unas variables no se de qué lenguaje de
programación, imagino que lo que deseas es filtrar por profesor,
seccion, materia y periodo, entonces, debes poner esas igualdades en
la cláusula where y no en la sección ON del join.

Luego de esto, es necesario el explain para poder hablar de
optimización de consultas...

Un abrazo.
-- 
§~^Calabaza^~§ from Villa Elisa, Paraguay
--
TIP 5: ¿Has leído nuestro extenso FAQ?
         http://www.postgresql.org/docs/faqs.FAQ.html

Responder a