Subject | Re: [firebird-support] Re: Transactions and cleaning up of rows after a massive deletion |
---|---|
Author | Ann Harrison |
Post date | 2011-10-26T19:21:48Z |
On Wed, Oct 26, 2011 at 2:47 PM, Aage Johansen <aagjohan@...> wrote:
will create a stub.
the same sized problem later.
Good luck,
Ann
[Non-text portions of this message have been removed]
> Thomas wrote:Marking the record with a flag will create a version. Deleting that version
> <<
> ...
> Perhaps your read process couldn't delete the record but mark it with a
> flag and a cleanup process scheduled e.g. in the night deletes the
> marked records followed by initiating a manual SELECT COUNT(*) on that
> table in case of co-operative garbage collection.
> ...
> >>
>
> Will updating (mark with a flag) create record versions (and
> stubs)?
will create a stub.
> These will need to be taken care of later, so maybe not muchYup. Or, in the worst case, creating the problem when it occurs and then
> time will be saved (relative to GC). Maybe just moved to another
> point in time.
>
the same sized problem later.
> A "select count(*)" can be run with the same WHERE clause as in theOnly if it's sure that it's the oldest transaction in the system.
> update (if at all practicable). Unless the "where" is too
> complicated it might save some time compared to a full GC.
> It could be a good thing for the updating program itself to do the
> select (after committing).
> Get rid of the garbage - don't leave itSo sadly true.
> as a surprise for an unsuspecting user at a later time. YMMV, no
> solution is perfect in every situation.
>
Good luck,
Ann
[Non-text portions of this message have been removed]