From: | "Chris Hoover" <revoohc(at)gmail(dot)com> |
---|---|
To: | "Jim Nasby" <decibel(at)decibel(dot)org> |
Cc: | "pgsql-admin(at)postgresql(dot)org Admin" <pgsql-admin(at)postgresql(dot)org> |
Subject: | Re: Deletes hurt |
Date: | 2007-05-31 19:10:13 |
Message-ID: | 1d219a6f0705311210r26e696afi24356ee428b73a33@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
Just curious, what sort of field do they use to mark the rows? I'm assuming
a timestamp since it would half to be part of the primary key, or am I way
off? This has really gotten me thinking about how I might implement this in
my database.
Thanks,
Chris
On 5/31/07, Jim Nasby <decibel(at)decibel(dot)org> 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.
> --
> Jim Nasby jim(at)nasby(dot)net
> EnterpriseDB http://enterprisedb.com 512.569.9461 (cell)
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings
>
From | Date | Subject | |
---|---|---|---|
Next Message | Paul Lambert | 2007-05-31 22:42:04 | Re: Deletes hurt |
Previous Message | Jonah H. Harris | 2007-05-31 18:54:54 | Re: Deletes hurt |