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.