Re: Optimizacion de select(pregunta de novato)

From: uno dos <refreegrata(at)yahoo(dot)com>
To: Jaime Casanova <jaime(at)2ndquadrant(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Optimizacion de select(pregunta de novato)
Date: 2010-05-15 00:43:28
Message-ID: 71030.93885.qm@web38406.mail.mud.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

select dato1,dato2,dato3 into valo1, valor2, valor3 FROM tabla where
codigo=1;

Pero al internar algo como
var1,var2,vae3:= select dato1,dato2,dato3 into valo1, valor2, valor3 FROM tabla where
codigo=1;

OK, probaré esto.

Creo que el problema está, aquí, ya que un pg_top me muestra un alto consumo de CPU en el INSERT y SELECT asociados al TRIGGER de la operación.Y no se, aunque no soy un experto DBA, pudiese ser que el sistema, en términos de requisitos, y el gran número de validaciones son un poco ambiciosas para el equipo de la empresa, que además posee otro sistemas instalados. La verdad, es que, aunque me dicen en la empresa, que el cambio de rendimiento fue de un momento a otro, quizás el cambio fue paulatino, entre que aumentaba de 0 a 22000 registros.

Bueno, en resumidas cuentas, estoy tratando de reducir los tiempos desde el código, y en la configuración de postgresql, ya que el tema del hardware es algo que no está dentro de los presupuestos de mis superiores.

Saludos.

--- On Fri, 5/14/10, Jaime Casanova <jaime(at)2ndquadrant(dot)com> wrote:

From: Jaime Casanova <jaime(at)2ndquadrant(dot)com>
Subject: Re: [pgsql-es-ayuda] Optimizacion de select(pregunta de novato)
To: "uno dos" <refreegrata(at)yahoo(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Date: Friday, May 14, 2010, 6:56 PM

2010/5/14 uno dos <refreegrata(at)yahoo(dot)com>
>
> Como las consultas son sobre una misma fila,¿puedo yo hacer algo como esto?:
> ------------------------------------------------------------------------------------
> valor1,valor2,valor3=dato1,dato2,dato3 FROM tabla where codigo=1

no, seria asi:
select dato1,dato2,dato3 into valo1, valor2, valor3 FROM tabla where codigo=1;

> ------------------------------------------------------------------------------------
> Y ¿debiera esta segunda forma de obtener los datos significar una reducción de tiempo en la ejecución del trigger?
>

posiblemente, aunque si la columna codigo esta indexada no ha de
significar mucho... supongo

> P.D.:Todo esto, lo hago, porque desde hace algún tiempo(como 1 semana) el rendimiento al realizar un INSERT a bajado
> considerablemente (es un insert que tiene asociado un trigger, que por un seguridad tema de debe hacer varias validaciones, hace
> una semana, el INSERT tomaba un par de segundos, ahora unos 4 minutos, en una tabla de sólo unos 22 mil registros. No ha
> habido ningún cambio en las condiciones del sistema dentro de la semana, como para haber gatillado el problema)
>

y si ese trigger ya existia porque supones que ahi esta el problema?
ejecutas VACUUM y ANALYZE periodicamente?

> Equipo con
>    - pentium 4 de 3ghz

aun existen? ;)

--
Jaime Casanova         www.2ndQuadrant.com
Soporte y capacitación de PostgreSQL

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2010-05-15 01:22:56 Re: Optimizacion de select(pregunta de novato)
Previous Message Jaime Casanova 2010-05-15 00:02:09 Re: Diferencias entre Postgres 8.4.3, Postgres Plus Standard Server, Postgres Plus Advanced Server