Synchronous writes

Synchronous writes are part of the SQL engine, which will ensure that data changes are written to the disk area, as required, for transaction reasons and the way databases work. In the case of SQLite, these operate under different statuses or settings of NORMAL, FULL, or OFF. For performance reasons, SQLite commits can be switched off by the DBA as required.

The OFF setting carries on its tasks quickly without much slowing down, minimal interruptions, and increased performance. However, in the case of a database crash, the data integrity will remain okay, but in the case of system crash and power loss, there is a good chance that corruption of the database itself may occur. There are performance gains to be made, but there are also risks associated with this move.

The FULL setting has to ensure that data is saved to disk properly and in good time before carrying on. This method is not good for performance, but is the most robust and the safest. If there are data corruptions or system crashes, users can be assured that no database corruption will occur.

The NORMAL setting will slow down at intervals to protect the data and commit transactions to disk. A database crash or a power failure could damage the database, but a more serious hardware error could be worse.