From: | Anastasia Lubennikova <a(dot)lubennikova(at)postgrespro(dot)ru> |
---|---|
To: | Claudio Freire <klaussfreire(at)gmail(dot)com> |
Cc: | Anastasia Lubennikova <lubennikovaav(at)gmail(dot)com>, PostgreSQL-Dev <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Vacuum: allow usage of more than 1GB of work mem |
Date: | 2017-01-19 09:33:57 |
Message-ID: | 13bee467-bdcf-d3b9-c0ee-e2792fd46839@postgrespro.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
28.12.2016 23:43, Claudio Freire:
> Attached v4 patches with the requested fixes.
Sorry for being late, but the tests took a lot of time.
create table t1 as select i, md5(random()::text) from generate_series(0,400000000) as i;
create index md5_idx ON t1(md5);
update t1 set md5 = md5((random() * (100 + 500))::text);
vacuum;
Patched vacuum used 2.9Gb of memory and vacuumed the index in one pass,
while for old version it took three passes (1GB+1GB+0.9GB).
Vacuum duration results:
vanilla:
LOG: duration: 4359006.327 ms statement: vacuum verbose t1;
patched:
LOG: duration: 3076827.378 ms statement: vacuum verbose t1;
We can see 30% vacuum speedup. I should note that this case can be
considered
as favorable to vanilla vacuum: the table is not that big, it has just
one index
and disk used is a fast fusionIO. We can expect even more gain on slower
disks.
Thank you again for the patch. Hope to see it in 10.0.
--
Anastasia Lubennikova
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
From | Date | Subject | |
---|---|---|---|
Next Message | Dilip Kumar | 2017-01-19 09:35:36 | Re: parallelize queries containing subplans |
Previous Message | Amit Kapila | 2017-01-19 09:28:14 | Re: Parallel Index Scans |