System.Data.SQLite
View Ticket
Not logged in
Ticket UUID: d1c008fa0ac9a020270d7dd7d607b5247ce33dd8
Title: Provide API to manipulate SQLITE_FCNTL_CHUNK_SIZE.
Status: Closed Type: Feature_Request
Severity: Important Priority: Medium
Subsystem: Connection Resolution: Fixed
Last Modified: 2014-04-21 20:12:16
Version Found In: 1.0.92.0
User Comments:
anonymous added on 2014-04-21 03:25:10:
My projects could really benefit from using the SQLITE_FCNTL_CHUNK_SIZE file control operation to override the default file allocation chunk size to make sqlite allocate larger chunks and potentially avoid some file fragmentation (not table fragmentation, of course).
I experimented by using some reflection to get SQLiteConnection._sql and subsequently invoke FileControl, specifying SQLITE_FCNTL_CHUNK_SIZE with a 4MB chunk size, which in my test recreating the same ~120MB test database brought down the NTFS fragmentation of the resulting file from about 1000 fragments to 6-7 fragments.

I'd therefore like some way (connection string and/or method/property on SQLiteConnection) to specify the chunk size.

See:
http://www.sqlite.org/c3ref/c_fcntl_chunk_size.html#sqlitefcntlchunksize

mistachkin added on 2014-04-21 20:12:16:
Fixed on trunk via check-in [146cb55f1e].