最近対応した不具合で勉強になったのでメモ 不具合内容 ActiveAndroidからSQLiteを利用してるアプリのデータ引き継ぎで、dbファイルをやりとりしても正常に引き継がれなかった。 原因 SQLiteのジャーナルモードがwalになっており、本体dbファイルが更新されていなかったため。 ジャーナルモードとは?? http://nave-kazu.hatenablog.com/entry/2015/12/18/140634 SQLiteのデータ更新時の挙動を変えるもの。 トランザクションを貼る=>コミットするまでのデータをどこに保持するかという話。 ジャーナルモードの例を下記に2点挙げる。だいたいこの二つのどっちかを使ってる印象がある。 https://sqlite-r.com/journal_mode によれば他にもいろいろモードがあるので、状況に合わせて使い分けるべき delete
1. Overview SQLite が atomic commit and rollback を実装するデフォルトの方法は rollback journal です。 version 3.7.0 (2010-07-21) から、新しい "Write-Ahead Log" オプション (以下、 "WAL" と呼びます) が利用可能になりました。 ロールバック ジャーナルの代わりに WAL を使用することには利点と欠点があります。利点は次のとおりです。 ほとんどのシナリオでは、WAL の方が大幅に高速です。 WAL は、リーダーがライターをブロックせず、ライターもリーダーをブロックしないため、より多くの同時実行性を提供します。読み取りと書き込みは同時に実行できます。 WAL を使用すると、ディスク I/O 操作がより連続的に行われる傾向があります。 WAL は使用する fsync() 操作がは
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く