| From: | Roland Müller <rolmur(at)gmail(dot)com> |
|---|---|
| To: | Greg Sabino Mullane <htamfids(at)gmail(dot)com>, pgsql-performance(at)postgresql(dot)org, Русинов Семен <mrpinkolik(at)gmail(dot)com> |
| Subject: | Re: Improving insert performance |
| Date: | 2026-05-08 03:31:14 |
| Message-ID: | CA+8p0G2TjxcxuJeTy=TLc5vaPWPbAPQwunp3f+r18Q73mt002A@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-performance |
JDBC is using autocommit by default.
You can switch it off and start using explit commits.
connection.setAutoCommit(false);
Greg Sabino Mullane <htamfids(at)gmail(dot)com> ezt írta (időpont: 2026. máj. 5.,
K 6:05):
> You can definitely do better than 35k rps. Setting the table as unlogged
> is a great start. Are you using prepared queries? Have you tried COPY? What
> is the size of the typical rows going in? Have you tried version 18?
>
> By using small string values and COPY, I can easily get over 1 million
> rows per second on a single thread, on an underpowered and fairly busy
> laptop, to give you a rough idea of potential. Checking wait_events as
> Laurenz says is a great idea. I'd also do 10 inserts with
> log_statement='all' on so you can see exactly what the driver and
> application are really doing for those inserts. Play around with the thread
> sizes to find the best combo.
>
> > transactional inserts: yes
>
> This is worrisome - are you committing after every insert? That's gonna
> hurt performance.
>
>
> Cheers,
> Greg
>
>
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jan Jongen | 2026-05-11 08:33:13 | Unexpected seq scan on table with JSONB column |
| Previous Message | Greg Sabino Mullane | 2026-05-05 03:05:11 | Re: Improving insert performance |