From: | "Benjamin Krajmalnik" <kraj(at)servoyant(dot)com> |
---|---|
To: | "Pierre C" <lists(at)peufeu(dot)com>, <pgsql-performance(at)postgresql(dot)org> |
Subject: | Re: Question of using COPY on a table with triggers |
Date: | 2010-07-15 23:28:39 |
Message-ID: | F4E6A2751A2823418A21D4A160B6898861470A@fletch.stackdump.local |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
That is what I thought.
The trigger calls a 3000 row stored procedure which does all of the calculations to aggregate data into 3 separate tables and then insert the raw data point into a 4th table.
> -----Original Message-----
> From: Pierre C [mailto:lists(at)peufeu(dot)com]
> Sent: Thursday, July 15, 2010 4:47 PM
> To: Benjamin Krajmalnik; pgsql-performance(at)postgresql(dot)org
> Subject: Re: [PERFORM] Question of using COPY on a table with triggers
>
> > Essentially, we insert a set of columns into a table, and each row
> fires
> > a trigger function which calls a very large stored procedure
>
>
> For inserting lots of rows, COPY is much faster than INSERT because it
> parses data (a lot) faster and is more "data-stream-friendly". However
> the
> actual inserting into the tbale and trigger-calling has to be done for
> both.
>
> If the trigger is a "very large stored procedure" it is very likely
> that
> executing it will take a lot more time than parsing & executing the
> INSERT. So, using COPY instead of INSERT will not gain you anything.
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2010-07-16 00:24:46 | Re: Question of using COPY on a table with triggers |
Previous Message | Pierre C | 2010-07-15 22:57:28 | Re: performance on new linux box |