| From: | Michael Lewis <mlewis(at)entrata(dot)com> |
|---|---|
| To: | Mark Zellers <markz(at)adaptiveinsights(dot)com> |
| Cc: | Israel Brewster <ijbrewster(at)alaska(dot)edu>, Rob Sargent <robjsargent(at)gmail(dot)com>, Alban Hertroys <haramrae(at)gmail(dot)com>, Christopher Browne <cbbrowne(at)gmail(dot)com>, "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: UPDATE many records |
| Date: | 2020-01-06 21:38:53 |
| Message-ID: | CAHOFxGoLdeWT8ed5pmVEM6QsSQDFPyFkmyEaV1Nt6bNvQ4yYMg@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
On Mon, Jan 6, 2020 at 2:34 PM Mark Zellers <markz(at)adaptiveinsights(dot)com>
wrote:
> Just out of curiosity, what kind of trigger are you using, a row level
> trigger or a statement level trigger? If you are using a row level
> trigger, see if you can achieve your requirements using a statement level
> trigger instead. I’m relatively new to Postgres, so there could be some
> limit that I’m not aware of, but my understanding is that you have access
> to the old and new values of the updated rows in the after statement
> trigger. It would likely be much more performant to do your operation once
> after the statement is done rather than firing a trigger on every changed
> row.
>
My experience/understanding is that statement level triggers can be a big
performance boost, but only for changing *other* tables and not the table
that the trigger is on since it is *AFTER* only and can't modify NEW record
directly.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Justin | 2020-01-06 21:49:13 | Re: UPDATE many records |
| Previous Message | Andrew Dunstan | 2020-01-06 21:34:34 | Re: jsonb_set() strictness considered harmful to data |