On 16 Aug 2016, at 1:46pm, Dominique Devienne <ddevie...@gmail.com> wrote:

> On Tue, Aug 16, 2016 at 2:29 PM, Simon Slavin <slav...@bigfraud.org> wrote:
> 
>> VACUUM destroys tables (and indexes) and makes new ones, so it frees pages
>> and allocates new ones.  The content of the 'unused' bytes in the
>> newly-allocated pages would not have anything to do with the content of the
>> pages which used to exist.  I don't know if those bytes would dependably
>> contain zero or just gibberish.
>> 
> 
> That's one way to look at it. Another (mine) is that is "moves" pages and
> "fills holes",

My understanding is that for each table (and all the indexes on that table) 
VACUUM creates a new copy by reading the rows, not the pages) then deletes the 
old copy.  In other words there's a brief instant when both copies exist.

This would contrast with the idea that VACUUM intelligently moves data from 
page to page to use the free space.  I don't think that's how VACUUM works.

Simon.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to