Bart Lateur wrote:
2) edit the C source of SQLite and replace the fsync() with fflush(),
which ought to be around 100 times faster, but which isn't garanteed to
withstand computer crashes, if it goes down before the data is finally
stored on disk - not ideal in the eye of ACID perfectionists.
Anyway, with current cache sizes inside the disk, nothing is garanteed
after an fsync(), anyway. (Data might be in the disk's own cache but not
yet committed to the physical disk)
if you're using proper enterprise storage and non-broken OS's, 'write
barriers' take care of this nicely. of course, enterprise storage
usually has a battery backup on the controller write cache, anyways, and
enterprise drives (scsi, sas, fc) understand to flush their drive cache
on a write barrier operation.