2

バージョン 2.2.8 で BLOB を保存するプロジェクトに HSQLDB を使用しており、期待どおりに .lobs ファイルが作成されていることを確認できます。

*.lobs ファイルのサイズは増加し続け、アプリケーションからレコードを削除しても減少しません。

ドキュメントを読むと、.lobs ファイルがクリアされておらず、DB をシャットダウンした後に実行する必要があることがわかりました。

質問は次のとおりです。アプリケーションを 24 時間年中無休でオンラインにしている場合、LOB ファイルのサイズをクリアまたは縮小するにはどうすればよいでしょうか。

  • プログラムでそれを行う方法はありますか?
  • または構成設定による何らかの方法(ちょうど私が探しているものではないlob_file_scale設定が見つかりました)?
  • この場合、ハウスキーピングの推奨されるアプローチは何ですか?
4

1 に答える 1

2

CHECKPOINT が発生すると、削除された LOB が占有していたすべてのスペースが解放されます。このスペースは新しい LOB に再利用され、すべてのスペースが使用されるまで .lobs ファイルのサイズは大きくなりません。

.log ファイルのサイズが制限に達すると、定期的にチェックポイントが発生します。チェックポイントは、CHECKPOINT SQL ステートメントを実行することによっても実行できます。

于 2012-05-01T18:16:14.520 に答える