私は多くのSQLITE3データベースを作成するサービスを実行し、後でそれらを再び削除します。それらはおそらく約1日存続します。それらはすべて同じスキーマを持ち、空で始まります。
これを使用して、新しい空のSQLITE3データベースを作成します。
sqlite3 newDatabase.db < myschema.sql
myschema.sqlファイルには、3つのテーブルスキーマなどが含まれていますが、特別なものはなく、データも含まれていません。かなり高速な専用Linuxサーバーで上記のコマンドを実行すると、完了するまでに最大5分かかります。CPU時間を使用するいくつかのPHPスクリプトのように、バックグラウンドで実行されているプロセスがありますが、他のコマンドや後でDBにデータを挿入する場合のように、他のすべては高速です。それは永遠にかかる創造物です。
これはとても奇妙です、私はここで何が悪いのか全くわかりません。したがって、現時点での私の唯一の手段は、blank.dbを一度作成し、SQLスキーマからインポートするのではなく、そこから新しいコピーを作成することです。
私が何を台無しにしたかについて何か考えはありますか?私は当初、Linuxのnoatime設定がそれを台無しにしていると思っていましたが、いいえ、無効にしても何も変わりませんでした。
必要な構成/データを喜んで提供します。
編集:
This is what strace hangs at:
12:29:45.460852 fcntl(3, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=1073741824, len=1}) = 0
12:29:45.460965 fcntl(3, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=1073741826, len=510}) = 0
12:29:45.461079 lseek(4, 512, SEEK_SET) = 512
12:29:45.461550 read(4, "", 8) = 0
12:29:45.462639 fdatasync(4