Re: tunning

From: Martin Li Causi <emlicausi(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Edwin Quijada <listas_quijada(at)hotmail(dot)com>, "gilberto(dot)castillo" <gilberto(dot)castillo(at)etecsa(dot)cu>, jaime <jaime(at)2ndquadrant(dot)com>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: tunning
Date: 2010-10-08 10:31:13
Message-ID: AANLkTi=Z8uRcssFbvJRtgJCWgCXCuOxnfeDtAvcifJXH@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2010/10/7 Alvaro Herrera <alvherre(at)commandprompt(dot)com>

> Excerpts from Martin Li Causi's message of jue oct 07 06:49:44 -0400 2010:
>
> > > 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
>
> Este subselect es lo que está usando la mayor parte del tiempo de la
> consulta ... Corresponde al "SubPlan 1" en esta parte del explain:
>
> > " -> Index Scan using idx_anor_calc_fj on
> anormalidad_calculo ac (cost=0.00..7495125.36 rows=165749 width=48) (actual
> time=1.813..268719.645 rows=467571 loops=1)"
> > " Filter: ((id_anormalidad_calc_reemplazo
> IS NULL) AND (id_tipo_justificacion = ANY
> ('{3,5,4,6,2,10,9,1,7}'::bigint[])) AND (SubPlan 1))"
> > " SubPlan 1"
> > " -> Aggregate (cost=15.93..15.94
> rows=1 width=8) (actual time=0.571..0.571 rows=1 loops=467646)"
> > " -> Bitmap Heap Scan on
> proceso_persona_jornada (cost=11.91..15.92 rows=1 width=8) (actual
> time=0.564..0.565 rows=1 loops=467646)"
> > " Recheck Cond: (($0 =
> id_persona) AND ($1 = id_fecha_jornada))"
> > " -> BitmapAnd
> (cost=11.91..11.91 rows=1 width=0) (actual time=0.562..0.562 rows=0
> loops=467646)"
> > " -> Bitmap Index
> Scan on idx_proceso_persona_jornada_persona (cost=0.00..5.19 rows=118
> width=0) (actual time=0.098..0.098 rows=884 loops=467646)"
> > " Index Cond:
> ($0 = id_persona)"
> > " -> Bitmap Index
> Scan on idx_proceso_persona_jornada_jornada (cost=0.00..6.46 rows=287
> width=0) (actual time=0.451..0.451 rows=3844 loops=467646)"
> > " Index Cond:
> ($1 = id_fecha_jornada)"
>
> Son 467646 veces por 0.5 segundos cada vez, o sea como 230 segundos de
> los 270 segundos en total. Creo que deberías buscar la manera de
> reformular esto (¿quizás usando una función ventana? ¿Usando un join
> en vez de una subconsulta correlacionada? no sé). Quizás sea necesario
> reformular el modelo.
>
> --
> Álvaro Herrera <alvherre(at)commandprompt(dot)com>
> The PostgreSQL Company - Command Prompt, Inc.
> PostgreSQL Replication, Consulting, Custom Development, 24x7 support
>

Estimados, mil gracias por la ayuda!!
vamos a ver que puedo hacer para mejorarlo
nuevamnete muchas gracias!

In response to

  • Re: tunning at 2010-10-07 20:44:30 from Alvaro Herrera

Responses

  • Re: tunning at 2010-10-12 20:32:58 from Silvio Quadri

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message David Samudio 2010-10-08 11:28:57 Re: WebServices con Postgres y Perl
Previous Message Alvaro Herrera 2010-10-08 02:12:52 Re: WebServices con Postgres y Perl