3

多くの行が頻繁に更新されるため、インデックスの肥大化に苦しんでいる大きなテーブルがあります。また、多数の行を削除中です。

ディスク容量を回復するために次のタスクを実行する正しい順序はどれですか?

  • バキュームし、デッドタプルをデータベースの再利用のために空きとしてマークし、システムにスペースを返しません。
  • バキューム フル、テーブルを書き換えてテーブルの肥大化を減らし、スペースをシステムに戻します。
  • インデックスを再作成し、インデックスの肥大化を減らしてインデックスを書き換え、システムにスペースを返します。
4

1 に答える 1

2

PostgreSQL 9.0 から、 ( CLUSTERVACUUM FULLと同様に) 最適なディスク領域を返す必要があります。現在のマニュアルから 9.0 のリリース ノートを引用します

VACUUM FULL の新しい実装。このコマンドは、個々の行をコンパクトな領域に移動するのではなく、テーブルとインデックス全体を書き換えるようになりました。ほとんどの場合、大幅に高速化され、インデックスの肥大化はなくなりました。

通常、実行する必要はなく、実行することをお勧めしませんVACUUM FULL。データ ページから HOT 更新などのためのゆらぎの余地をすべて削除すると、UPDATE が遅くなる可能性があります。

于 2012-07-10T23:26:51.430 に答える