質問: sqliteについて質問です。 sqliteで複数の処理を行いそれがバッティングした場合というのはどうなるのでしょうか? MySQLなどは同時に処理をおこなっても大丈夫なのはわかっているのですが、 sqliteは見たところファイルの扱い(実際のところ1つのファイルなんですが)に近いように見えます。 PerlやPHPでファイルを扱う際はロック機構がありますがファイルのロックのような機構があるのでしょうか? (SQLITEの構文を見ても特にそういったものが見当たらなかったので、自動でそういった処理が組み込まれているでしょうか) 例えばtest.sqlite3というsqliteのファイルへA・B・C・D・Eという処理が同時刻に発生した場合というのはどうなるのでしょうか? 1.順番に実行される 2.同時に実行される 同時に実行される場合 1.5つの処理が別レコードであれば問題なし 2.いくつかの処理が同じレコードの場合は、処理される順番によって結果がかわる事がある sqliteについての理解が低いので検討違いな質問をしているかも知れませんが、識者の方のご意見を聞ければと思います。
回答: SQLiteはDB全体にロックをかけるため、同時にトランザクションがかかっても 1.順番に実行される という結果になります。