2007/12/13

禁断の compact -d

前の記事で、「禁断の compact -d」と書いてしまったので、少しだけ書いておきます。
compact -d を利用すると、データベースの圧縮時に、既存のビューを破棄します。このため、「圧縮」という意味では、データベースのサイズは最小限にまで縮みますし、結果的にビュー索引は作成し直すことになるため、データベース破損があった場合などの手段としては有効だと思います。

一方、ビュー索引が全て破棄されるということは、次回にアクセスしたタイミングで索引の構築をする必要があります。索引の構築というのは、文書数やビュー設計の複雑具合にもよりますが、サーバーリソースも使いますし、処理に時間もかかります。
1つ、2つのDBの場合、多少時間がかかる程度で済みますが、これが「全てのデータベース」だったりすると、サーバー負荷は最大までに達し、パフォーマンスの問題が発生することにもなります。このようなこともあって、ごく限られたケースのみで使いたい「禁断の compact -d」だと私個人は思ってます。

0 件のコメント: