2016-03-30 10 views
2

SQLite3データベースのWALモードを使用しています。プラグマステートメントの同期のデフォルトモードは2(完全)ですが、これにより挿​​入が実際に遅くなり、documentation(正常)に従うと問題ありません。SQLite3プラグマは永続的ではありません

は、同期モードを変更すると、データベースがオープンしている限り動作しますが、接続が終了したときにリセットするようだ:他の

[email protected]:~# 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] 
[email protected]:~# sqlite3 mydb.db 
SQLite version 3.8.6 2014-08-15 11:46:33 
sqlite> pragma synchronous; 
2 

何もデータベースを使用していません。この変更を永続化する方法を教えてもらえますか?

また、pragma synchronouspragma [database name].synchronousの設定の違いは何ですか?ところで、どちらも永続的ではありません。

答えて

5

他のほとんどのPRAGMAと同様に、この設定はデータベースではなくデータベース接続に適用されます。

永続化することはできません。データベースを開くたびに作成する必要があります。

+0

よろしくお願いいたします。私はそれがそんなものだと思った。奇妙なことには、ドキュメントには言及されていません。 – Martin

関連する問題