SQLite3 pragma同步不持久

时间:2016-03-30 12:24:44

标签: sqlite pragma

我正在使用一个SQLite3数据库i WAL模式。 pragma语句同步的默认模式是2(完整),但是这使得插入非常慢并且根据documentation 1(正常)应该没问题。

只要数据库处于打开状态,更改同步模式就会起作用,但在连接结束时似乎会重置:

root@linux:~# sqlite3 mydb.db
SQLite version 3.8.6 2014-08-15 11:46:33
sqlite> pragma synchronous;
2
sqlite> pragma synchronous=1;
sqlite> pragma synchronous;
1
sqlite>[exit]
root@linux:~# sqlite3 mydb.db
SQLite version 3.8.6 2014-08-15 11:46:33
sqlite> pragma synchronous;
2

没有其他人在使用数据库。任何人都可以告诉我如何使这种变化持久吗?

另外,设置pragma synchronouspragma [database name].synchronous之间有什么区别?顺便说一下,两者都不是持久的。

1 个答案:

答案 0 :(得分:7)

与大多数其他PRAGMA一样,此设置不适用于数据库,而适用于数据库 connection

不能坚持不懈。每当打开数据库时都必须创建它。