Re: Deletes hurt

From: "Simon Riggs" <simon(at)2ndquadrant(dot)com>
To: "Jim Nasby" <decibel(at)decibel(dot)org>
Cc: <pgsql-admin(at)postgresql(dot)org>
Subject: Re: Deletes hurt
Date: 2007-06-01 20:07:46
Message-ID: 1180728467.26297.267.camel@silverbirch.site
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

On Thu, 2007-05-31 at 09:14 -0700, Jim Nasby wrote:
> I'm currently doing EnterpriseDB training at a well-known
> entertainment company. I found out something yesterday that I thought
> the community would find interesting...
>
> In their game (MMORPG) databases, they have fields on all their
> tables that indicate whether a record has been deleted or not. I've
> seen this done before, typically for data retention reasons. But they
> had a daily process that went through each night and physically
> deleted the records that had been marked as deleted.
>
> The reason they weren't actually deleting rows real-time is because
> it cost to much in Oracle to do so. My guess is it's because Oracle
> has to copy the entire deleted row to the undo log as part of the
> delete, which would be pretty costly.

I believe it has more to do with the cost of removing each row from the
index, which might then require parent uplink updates also, which is a
major source of contention. DB2 type 2 indexes deliberately avoid that
issue, and opt for an approach that requires an offline utility to clear
up afterwards. Sounds like a great plan to me...

--
Simon Riggs
EnterpriseDB http://www.enterprisedb.com

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Jon Colverson 2007-06-02 00:07:44 Re: Attempt to re-archive existing WAL logs afterrestoringfrom backup
Previous Message Simon Riggs 2007-06-01 20:02:19 Re: Attempt to re-archive existing WAL logs afterrestoringfrom backup