RohitPatel9999 <[EMAIL PROTECTED]> wrote: > Thanks for prompt reply. > > Agreed. SQLite needs zero-configuration. > > But applications using multiple SQLite database files for read and write, > makes those files with many-many fragments in disk. Which definitely > degrades database file read/write performance tremendously. > > Any solution to that (which does not force end-user of app to manage sqlite > file fragments or to defragment disk) ? >
SQLite seeks to keep its database file size minimized. I think that SQLite should by default continue to follow its current strategy of minimizing file size. But I am not adverse to adding a PRAGMA that will put the database into a different "preallocation" mode where the database size increases by larger chunks. At the time of each size inceased, the additional unused space can simply be added to the freelist. There are a few unused bytes in the database file header that can be used to record the fact that the "preallocation" pragma is in force, so no file format change of any kind is required - older versions of SQLite would continue to be able to read and write newer databases. This is something we may look into over the next few months -- D. Richard Hipp <[EMAIL PROTECTED]>