ぐぐってみると関連記事がちらほら見つかるけど、結構言ってることがばらばら
SQLiteではテーブルロックだの書いてるとこもあるけどSQLiteでのロックはデータベース、つまりファイル全体をロックしていると思われ
まあそんなことはいいとして、database is lockedについてだけど、オートコミットではこの現象は起きないらしい。内部的にトランザクション開始してるのになんで?wwソース見るのめんどいからとりあえず忘れる事にして、SQLite、変な癖ありすぎ
ただオートコミットだとinsertやらの書き込み処理にかなり時間かかる
こうなるとタイムアウトを設定することで回避したくなる
だけどphpではタイムアウトを設定してもそれぞれのプロセスでトランザクションが重複した場合、即座にdatabase is lockedが返る件www俺の環境だけ?wwこいつは曲者もいいとこだな
結果的に5回まで、または成功するまでループでexecute関数を実行することで回避することに
何か、もう少しスマートな方法ないのかな(´・ω・`)
SQLiteではテーブルロックだの書いてるとこもあるけどSQLiteでのロックはデータベース、つまりファイル全体をロックしていると思われ
まあそんなことはいいとして、database is lockedについてだけど、オートコミットではこの現象は起きないらしい。内部的にトランザクション開始してるのになんで?wwソース見るのめんどいからとりあえず忘れる事にして、SQLite、変な癖ありすぎ
ただオートコミットだとinsertやらの書き込み処理にかなり時間かかる
こうなるとタイムアウトを設定することで回避したくなる
だけどphpではタイムアウトを設定してもそれぞれのプロセスでトランザクションが重複した場合、即座にdatabase is lockedが返る件www俺の環境だけ?wwこいつは曲者もいいとこだな
結果的に5回まで、または成功するまでループでexecute関数を実行することで回避することに
何か、もう少しスマートな方法ないのかな(´・ω・`)







