- 37 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 12:40:15 ]
- >>28
> そのインデックスは、dat一覧を出すときにdatnameでのソートが速くなるので入れました > insert時にパフォーマンスが落ちることは分かっていたのですが、検証不足だったようです。 なるほど、思わぬ弊害ということですね。自分の検証不足でもあります。 > 根本的に、データベースが使用中ならば待つような仕組みをo2on側で用意してはどうかと思います。 > 現在は適当に5秒待ちになってますが、DBのロックをちゃんと把握して待つようにした方がいいかなあと > もしくはタイムアウト後にリトライするかですね 激しく同意です。 いきなり if (err != SQLITE_OK) goto error; しないで、 err == SQLITE_BUSY 時に適当に待って何度かリトライする感じですかね。 とりあえず SQLITE_BUSY とリトライについて調べてみます。 それと、あまりにもエラーが続くようだったら、あるいはキューが溜まりすぎたら dat 走査を一時停止するという仕組みも必要だと思われます。 メモリ使用量的な意味でも。
|

|