Re: Search then Delete Performance - Mailing list pgsql-general

From John R Pierce
Subject Re: Search then Delete Performance
Date
Msg-id 4C90402E.1080900@hogranch.com
Whole thread Raw
In response to Search then Delete Performance  (Michael Hull <mikehulluk@googlemail.com>)
Responses Re: Search then Delete Performance
List pgsql-general
  On 09/14/10 5:55 PM, Michael Hull wrote:
> So fairly simply, I have a daemon running on a machine, which accesses
> this DB. Clients connect and request the details for say 1000
> simulations, at which point the daemon takes 1000 entries from the
> unassigned table and moves them to the assigned table. The once the
> client is finished with those jobs, it signals this to the daemon,
> which then move those jobs from 'assigned' to 'complete'.
>
> So this is fairly simple to implement, but my problem is that it is very slow.
>
>

instead of moving data from one table to another, it might be better to
just have a table of simulations, then another table which just contains
the PK of each simulation, and a flag that says its assigned or
unassigned (and maybe the client its assigned to?  and anything else
thats related to this assignment?)...   so instead of moving your big
table rows, which involves deleting them from one table and inserting
them into another, you just update the row of this small table.   if you
create this small table with a fillfactor like 75%, the updates likely
will easily be handled by HOT



pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Search then Delete Performance
Next
From: Dann Corbit
Date:
Subject: Re: Search then Delete Performance