Index split WAL reduction

From: "Heikki Linnakangas" <heikki(at)enterprisedb(dot)com>
To: <pgsql-patches(at)postgresql(dot)org>
Subject: Index split WAL reduction
Date: 2006-12-05 11:41:13
Message-ID: 45755AD9.1040503@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

Hi,

Currently, an index split writes all the data on the split page to WAL.
That's a lot of WAL traffic. The tuples that are copied to the right
page need to be WAL logged, but the tuples that stay on the original
page don't.

Here's a patch to do that. It needs further testing, I have used the
attached crude crashtest.sh to test the basics, but we need to test the
more obscure cases like splitting non-leaf or root page.

On a test case that inserts 10000 rows in increasing key order with a
100 characters wide text-field as key, the patch reduced the total
generated WAL traffic from 45MB to 33MB, or ~ 25%. Your mileage may
vary, depending on the tuple and key sizes, and the order of inserts.

Anyone see a problem with this?

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

Attachment Content-Type Size
split_wal_reduction-5.patch text/x-patch 16.6 KB
crashtest.sh application/x-shellscript 3.1 KB

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Teodor Sigaev 2006-12-05 12:13:16 Re: Bundle of patches
Previous Message Michael Meskes 2006-12-05 09:49:19 Re: ECPG docs