On 11 Sep 2015, at 3:14am, Nguyen Dang Quang <quangnd at gmail.com> wrote:

> SYNCHRONOUS = OFF will make new data not visible to select command?

"PRAGMA synchronous" is about making sure that the disk (or other storage 
medium) is updated to reflect changes in the database.  Normally changes to 
files are held in disk cache and the physical storage isn't updated 
immediately, because doing that update takes a lot of time and makes the 
program run slowly.  The PRAGMA can be used to say "Disk must always be 
completely up-to-date.  I don't care how long it takes.".

SQLite gets its information from the disk cache (far faster than triggering a 
genuine disk read every time) so "PRAGMA synchronous" has no effect on the 
results that SQLite will return to the software which calls it.

[later]

I now see that the default setting is "FULL" not "NORMAL", so by default SQLite 
runs more slowly, but more safely.

Simon.

Reply via email to