Subject | Re: [firebird-support] Re: Space used null values |
---|---|
Author | Mark Rotteveel |
Post date | 2018-05-21T07:41:46Z |
On 21-5-2018 08:09, hugo.larson@... [firebird-support] wrote:
database, when you update a row, a new version of that row is created,
and the old one links to the new one. Only when there are no more
transactions interested in the old version, will it become eligible for
garbage collection. Similarly, when you delete a row, a new version is
inserted that is known as a deletion stub. When no transactions are
interested in old version, both the old version and the deletion stub
become eligible for garbage collection.
See also https://www.firebirdsql.org/en/multi-version-concurrency-control/
--
Mark Rotteveel
> I have a followup question.Yes and no. Firebird is a MVCC (Multi-Version Concurrency Control)
> If I have a varchar(1000) column with 1000 characters in it and then i
> delete the value in only that column but keep the row. The row has other
> columns with values.
> Will the space be reclaimed and overwritten?
database, when you update a row, a new version of that row is created,
and the old one links to the new one. Only when there are no more
transactions interested in the old version, will it become eligible for
garbage collection. Similarly, when you delete a row, a new version is
inserted that is known as a deletion stub. When no transactions are
interested in old version, both the old version and the deletion stub
become eligible for garbage collection.
See also https://www.firebirdsql.org/en/multi-version-concurrency-control/
--
Mark Rotteveel