0

私は BerkeleyDB の Java 版、DPL を使用しています。

データを BerkeleyDB に解析している間、一時的な情報を特定の PrimaryIndex に保存します。この PrimaryIndex は多くのスペースを必要とするため、そこに保存されているすべてのデータを削除し、HD で使用されているスペースを解放したいと考えています。

これを行う最も簡単な方法は何ですか?

ありがとう。

4

3 に答える 3

1

原則として、次のことが必要になる場合があります。

  • BDB テーブルには主キーが必要なため、テーブル構造を変更してプライマリ インデックスを別の列に変更します。
  • テーブル構造を変更して、不要になった列を削除します

ピーターの言うとおりです。具体的な回答をする前に、より具体的な詳細 (テーブル構造の DDL など) が必要です。

見る:

于 2012-01-08T12:23:24.023 に答える
0

詳細がわからない場合は、削除したい情報を除いてデータを書き直す必要がある場合があります。ただし、数百 GB の節約を考えているのでない限り、気にする必要はありません。必要に応じて、ディスク容量を増やします。

于 2012-01-08T12:18:00.033 に答える
0

次のことを行う必要があると思います。

  1. 必要なアーキテクチャで新しいテーブル構造を作成します
  2. 古い構造から各行を読み取り、それを新しい構造に移行し、それに沿って変更します (データのドロップ/その他の変更)。
  3. スペースが問題になる場合は、一時的であっても、古いテーブルからデータを削除してください。

上記が適切かどうかは、詳細に依存します。

これは、ALTER TABLE 構文を使用して SQL データベースを使用すると簡単になりますが、設計上の決定には理由があると思います (パフォーマンスに基づく可能性が高い)。

于 2012-01-08T12:34:54.653 に答える