https://www.sqlite.org/fileformat2.html
is the page with the nitty gritty for the file format.

Overflow pages are stored in a singly linked list of pages, so you have to 
traverse through all of the pages to get to the end. So while you may know 
right away that you want the 20th overflow page for example, you still have to 
load all 19 pages in between to find out what page that is.


[DD] There's a special mode where SQLite keeps extra pages to keep track of 
pages, and thus can potentially avoid that "page-chain", but it's not often 
used I believe.

I think you're referring to the Pointer Map pages which are used for 
incremental vacuum. If used, then for every single page in the database it 
stores the "parent" page number. Ie backwards up the btree or backwards in the 
overflow page list. It's basically there so that if you want to move the 
contents of page X to somewhere else in the file it gives you the page number Y 
which has the pointer to it that will need to be changed to the new page 
number. But it doesn't let you skip ahead in the overflow page chain.

_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to