SQLite3 pragma同步不持久
SQLite3 pragma synchronous not persistent
我在 WAL 模式下使用 SQLite3 数据库。 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 synchronous
和pragma [database name].synchronous
有什么区别?顺便说一句,两者都不是持久的。
与大多数其他 PRAGMA 一样,此设置不适用于数据库,但适用于数据库 连接。
无法持久化。每次打开数据库都得做。
我在 WAL 模式下使用 SQLite3 数据库。 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 synchronous
和pragma [database name].synchronous
有什么区别?顺便说一句,两者都不是持久的。
与大多数其他 PRAGMA 一样,此设置不适用于数据库,但适用于数据库 连接。
无法持久化。每次打开数据库都得做。