On Sat, 17 Jul 2021 at 16:40, Justin Pryzby <pry...@telsasoft.com> wrote:You could run a single UPDATE rather than 30k triggers. Or switch to an INSERT on the table, with an index on it, and call max(last_parent_table_change) from whatever needs to ingest it. And prune the old entries and vacuum it outside the transaction. Maybe someone else will have a better suggestion.Maybe just change the UPDATE statement to:UPDATE data_sync SET last_parent_table_change=CURRENT_TIMESTAMP WHERE last_parent_table_change <> CURRENT_TIMESTAMP; That should reduce the number of actual updates to 1 per transaction. David
Great idea ! This brought the time per INSERT into the parent table down
to a consistent ~0.065ms again (compared to 0.05ms when completely
removing the trigger, so penalty for the trigger is roughly ~20%).
- Re: Linear slow-down while inserting into a table with an ON... Justin Pryzby
- Re: Linear slow-down while inserting into a table with ... David Rowley
- Re: Linear slow-down while inserting into a table w... Tom Lane
- Re: Linear slow-down while inserting into a table w... Tobias Gierke
- Re: Linear slow-down while inserting into a table with ... Tobias Gierke