* Tom Lane (tgl@xxxxxxxxxxxxx) wrote: > Stephen Frost <sfrost@xxxxxxxxxxx> writes: > > While it's true that Access almost certainly takes some shortcuts, 24 > > minutes for an update across 1.2 millon rows seems an awefully long time > > for Postgres. > > I did some experiments along this line with a trivial table (2 integer > columns) of 1.28M rows. I used CVS tip with all parameters at defaults. > With no indexes, an UPDATE took about 50 seconds. With one index, it > took 628 seconds. It's not hard to believe you could get to Jay's > figures with multiple indexes. With multiple indexes, you might want to drop them and recreate them when you're updating an entire table. > Looking in the postmaster log, I see I was getting checkpoints every few > seconds. Increasing checkpoint_segments to 30 (a factor of 10) brought > it down to 355 seconds, and then increasing shared_buffers to 20000 > brought it down to 165 sec. Separating WAL and data onto different > disks would have helped too, no doubt, but I'm too lazy to try it. Sure, this was kind of my point, we need more information about the database if we're going to have much of a chance of improving the results he's seeing. 165 seconds is certainly a great deal better than 24 minutes. :) Thanks, Stephen
Attachment:
signature.asc
Description: Digital signature