2

H2 データベースを生成するアプリケーションがあります。

Windows XP でアプリケーションを実行すると、サイズが 176K の .h2.db ファイルが生成されますが、同じアプリケーションを Unix (SunOS) で実行すると、サイズが 1126K の .h2.db ファイルが生成されます。データ。

UNIXで生成されたファイルが非常に大きくなる原因を誰か説明できますか?

ありがとう!
マーティン

4

1 に答える 1

1

この場合、データベース ファイルを圧縮する最も簡単な方法は、ファイルを開いて閉じることです。別の方法は、ステートメントを実行することですshutdown compact

あなたの場合、「Unix」データベースは完全に圧縮されていません。つまり、データベースファイルに空のページが含まれています(トランザクションログが一時的に含まれている可能性が最も高い空のページ;これは正常です)。データベースを閉じるとき、H2 は未使用のページをファイルの最後に移動してからファイルを切り詰めることで、データベース ファイルを圧縮しようとします。デフォルトの圧縮時間は 0.2 秒です。おそらく、この 0.2 秒は、"Unix" プラットフォームの場合、データベースを完全に圧縮するには十分ではありませんが、"Windows" プラットフォームでは十分です。

于 2012-07-13T06:07:30.267 に答える