2011-11-09 12 views
2

一時的なデータをメモリーに保存したいが、これはサーバーのシャットダウン後に削除する必要がある。HSQLDB再始動後の表データのクリア

HSQLDBにテンポラリテーブルがありますが、トランザクションコミット後すぐにデータが削除されますが、これは私にとっては短すぎます。一方、メモリテーブルは、スクリプトログファイルを保持し、サーバーの新規起動時にデータを再開します。私の状況では役に立たないスクリプトログを維持するには、時間と場所が必要です。

私が必要とするのはテーブルの一種であり、テーブル構造だけがハードディスクに永続的です。データとデータ操作はメモリ内でのみ実行する必要があります。さもなければmysqlの代わりにメモリ内のDBが必要なのはなぜですか?

このようなタイプのテーブルはHSQLDBにありますか?

おかげ

答えて

3

ファイルを作成します。データベースを、その後、テーブルを作成します。シャットダウンを実行します。データベースの.propertiesファイルを編集し、以下の設定を追加して保存します。

files_readonly=true 

このデータベースでテストを実行すると、データはディスクに書き込まれません。

また、最新バージョンのHSQLDB 2.2.xでは、テスト中に接続URLにこのプロパティを指定できます。たとえば、

jdbc:hsqldb:file:myfilepath;files_readonly=true 
+0

ありがとうございますが、その後はデータを変更できません。私が必要とするのは、テーブルスキーマを永続的に保つことだけです。テーブル内のデータは実行時に更新できますが、ハードディスクには保存されません。 – cn1h

+0

変更を防ぐ 'readonly = true'プロパティは設定していません。提案されたプロパティを使用すると、ディスクに書き込まずにデータを追加および変更できます。 – fredt

+0

ありがとう、あなたは正しいです、readonlyとfiles_readonlyはまったく異なります。私はテストしました、それは動作します!私がすべきことは、以前のように共通モードでテーブル構造を構築し、次にfiles_readonlyプロパティをtrueに変更することです。スナップショットのように、サーバの新規起動時にその時点のすべての状態が自動的に復元されます。ありがとうございます – cn1h

関連する問題