データベースのクリーンアップ
Database ClearnUp.
Cache' 2009.1の新機能として追加されたデータベースクリーンアップ機能を試してみます。肥大化したデータベースファイル、すなわち
Cache.Datファイルを小さく圧縮することが可能なのか確認してみます。
まず、確認用に新規データーベースを作ってみました。設定値はすべてデフォルトで、初期サイズ1MB、ブロックサイズ8KBとしました。
![](img8.gif)
次にデータベースを肥大化させるために、大量のデータを登録します。
以下のコマンドで、^TESTグローバル下に同じ文字列をどんどん登録していきます。
COMP> For i=1:1 Set ^TEST(i)="むかしむかし、あるところにお爺さんとお婆さんがおりました。お爺さんは山へ芝刈りに、お婆さんは川に洗濯に行きました。お婆さんが川で洗濯していると、大きな桃がドンブラコ、ドンブラコと、流れてきます"
目視で1GBを超えたところで実行を停止しました。
![](imgD.gif)
Cache.Datファイルは1045MBまで大きくなりました。
未使用領域を作るため、^TEST(1)だけ残して ^TEST(2)以降を削除します。
COMP> For i=2:1 Quit:'$Data(^TEST(i)) Kill ^TEST(i)
削除したので、データベースはほとんど空になっているはずですが、Cache.Datのサイズは1045MBのままです。
では新機能のデータベースクリーンアップを試してみましょう。 システム管理ポータル → データベース → 空き容量 →
(対象データベース行の)未使用領域削除を選択します。
![](img2.jpg)
ターゲットサイズは0のまま、OKを押すと
![](img13.gif)
バックグラウンドで処理が開始されます。
![](img16.gif)
処理が完了すると、データーベースサイズは1045MBだったものが1MBまで縮小されました。
![](img18.gif)
ここまでの流れを簡単に図にしてみます。
![](img1E.jpg)
初期状態 |
空のデータベースを作成しました。サイズは1MBです。 |
大量に登録 |
大量にデータを登録しサイズは1GBまで成長しました。 |
大部分を削除 |
ほとんどのデータを削除しました。空きデータ領域がたくさん存在しますが、サイズは1GBのままです。 |
データベース クリーンアップ |
を実行することによってサイズは1MBまで縮小しました。 |
データベース中に大量の空き領域が存在する場合、データーベースクリーンアップを試してみてはどうでしょうか。
|