maria-discuss team mailing list archive
Mailing list archive
Re: [All] InnoDB selected projects
I think "InnoDB file space defragmentation" could use significantly
By my understanding, delete-marked rows are in fact "physically
deleted" (re-linked to the garbage record list) during purge. However,
the garbage records in the list are not reclaimed unless: a. the first
record in the list has enough usable space for a newly inserted
records (potentially leaving some of the record's space unused); or b.
the page becomes full and gets re-organized, freeing all garbage space
implicitly. Of course then even in the best case the page is still
"used" and not free.
This all is true.
This is what I was proposing with defragmentation, either physically
freeing unused pages or relocating used pages to be more contiguous,
reducing the free limit and page count.
Freeing unused file space is an entirely different problem, involving
potentially relocating used pages to be more contiguous, and then
reducing the free limit and then the page count for the space.
Both are useful, but you need to start from somewhere. I could use
internal functionality if there is suitable syntax that can be used to
do this already, I would not like to extend SQL-again.
They seem to be entirely different problems and without much overlap
at all. They are both potentially useful, and interesting. (Although I
am not sure why to make it an external tool as opposed to internal
functionality, that seems unnecessary.)
Jan Lindström, Principal Engineer
SkySQL - The MariaDB Company