Maybe you misunderstood that sentence: "auto_vacuum=FULL" mode will reduce the file size but so will a "VACUUM" command, independent of the auto_vacuum setting. It makes that crystal clear by detailing how it works later on that page:
> The VACUUM command works by copying the contents of the database into a > temporary database file and then overwriting the original with the contents > of the temporary file. So it will by definition use the minimum possible amount of space for the resulting database file. > On Sep 1, 2017, at 6:53 PM, Jacky Lam <jacky...@gmail.com> wrote: > > What I am understood from the answer is explicit code must be used during > creating db, for example, auto_vacuum=FULL. > If no, the file size will not reduce even deleting a number of records and > this is normal. > > > On Sat, Sep 2, 2017 at 12:47 AM, Stephen Chrzanowski <pontia...@gmail.com> > wrote: > >> You'll want to vacuum the database. >> >> https://sqlite.org/lang_vacuum.html >> >> Deleting records from a SQLite database only changes the pages that already >> exist within the file. It doesn't prune anything automatically. It can do >> so, though, if you set the appropriate pragma. >> >> On Fri, Sep 1, 2017 at 12:41 PM, Jacky Lam <jacky...@gmail.com> wrote: >> >>> Hi All, >>> While using my own implemented file system, the db file size will only >>> expand and not prune even remove record from the db. >>> Could anyone advise me that what I am missing in order to pruning the db >>> size when removing a number of records? >>> Jacky >>> >>> On Wed, Aug 9, 2017 at 11:02 AM, Simon Slavin <slav...@bigfraud.org> >>> wrote: >>> >>>> >>>> >>>> On 9 Aug 2017, at 3:31am, Jacky Lam <jacky...@gmail.com> wrote: >>>> >>>>> 1. Can I call sqlite3_open more than one times before calling >>>> sqlite3_close >>>>> and sqlite3_free? >>>> >>>> Call sqlite3_open() for each database you want to open. You can have >> any >>>> number of databases open at the same time. Call sqlite3_close() for >> each >>>> database you have open when you no longer need it. After closing the >>> last >>>> connection call sqlite3_shutdown() as described in >>>> >>>> <https://sqlite.org/c3ref/initialize.html> >>>> >>>> (The above ignores use of SQL's ATTACH command.) >>>> >>>> You are not expected to ever call sqlite3_free() unless you are using >>>> SQLite to do other memory-handing tasks for you. Most people who use >>>> SQLite never call sqlite3_free(). >>>> >>>>> 2. If the above mentioned devices change to mutli-thread setting but >> no >>>>> thread safe functions such as mutex, is this setting still fine? >>>> >>>> You have explicitly declared SQLITE_THREADSAFE=0 . That means you will >>>> arrange that only one thread will be doing SQLite calls at once. As >> long >>>> as you can ensure this, SQLite will function correctly. >>>> >>>>> If not, how can I make it thread safe with lack of mutex support >> in >>>>> the system? >>>> >>>> Do any of the following: >>>> >>>> A) Implement your own mutex system. >>>> >>>> B) Use SQLite’s mutex system ( <https://sqlite.org/c3ref/ >>> mutex_alloc.html> >>>> ) >>>> >>>> C) Supply the value SQLITE_OPEN_FULLMUTEX when you open connections >> using >>>> sqlite3_open_v2(), as described in <https://sqlite.org/c3ref/open.html >>> >>> . >>>> >>>> Please note that the above is a top-of-the-head answer and I have not >>>> personally tries each of the options to make sure it works. >>>> >>>> Simon. >>>> _______________________________________________ >>>> sqlite-users mailing list >>>> sqlite-users@mailinglists.sqlite.org >>>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >>>> >>> _______________________________________________ >>> sqlite-users mailing list >>> sqlite-users@mailinglists.sqlite.org >>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >>> >> _______________________________________________ >> sqlite-users mailing list >> sqlite-users@mailinglists.sqlite.org >> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >> > _______________________________________________ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users