]> granicus.if.org Git - postgresql/commit
Prefetch blocks during lazy vacuum's truncation scan
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Mon, 23 Jan 2017 15:55:18 +0000 (12:55 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Mon, 23 Jan 2017 15:55:18 +0000 (12:55 -0300)
commit7e26e02eec90370dd222f35f00042f8188488ac4
treef30de3a4f8238be2b4422e2174f3d8850409be4c
parent3c821466abcdb8120ab0dfbce02f3bbae3b62025
Prefetch blocks during lazy vacuum's truncation scan

Vacuum truncation scan can be sped up on rotating media by prefetching
blocks in forward direction.  That makes the blocks already present in
memory by the time they are needed, while also letting OS read-ahead
kick in.

The truncate scan has been measured to be five times faster than without
this patch (that was on a slow disk, but it shouldn't hurt on fast
disks.)

Author: Álvaro Herrera, loosely based on a submission by Claudio Freire
Discussion: https://postgr.es/m/CAGTBQpa6NFGO_6g_y_7zQx8L9GcHDSQKYdo1tGuh791z6PYgEg@mail.gmail.com
src/backend/commands/vacuumlazy.c