最適化によりファイルをメンテナンスする

 Accessを使用していると、実際に記録しているデータの量や作成したオブジェクトの内容と比較して異常にファイルサイズが大きくなってしまうことがあります。
 これは、Accessの内部で(ユーザーが作成するものとは別に)作成されるオブジェクトが使用後も削除されず残ることなどが原因で、結果としてファイルサイズが大きくなるだけでなく動作が遅くなり、ファイルの破損のリスクも増大するとされています。
 そこで、定期的にこうしたオブジェクトを削除しメンテナンスすることが望ましいとされます。これが最適化です。
 一見難しそうですがコマンド1つでできますので、定期的なバックアップと同様に習慣としていただきたいと思います。

f:id:accs2014:20160828162423p:plain:right:w500

 例としてこのようなファイルを用います。
 データが何行かしかないテーブルとクエリがいくつかあるだけなのですが、クエリの作成に試行錯誤しているうちに…


f:id:accs2014:20160828162422p:plain:right:w400

 ファイルサイズが1メガバイトを超えるようになりました。 


f:id:accs2014:20160828162424p:plain:right:w400

 そこでファイルを開き、「データベースツール」を選択し、左上の「データベースの最適化/修復」を選択します。


f:id:accs2014:20160828162425p:plain:right:w400

 作業はこれだけで終了です。このとき、開いていたオブジェクトは閉じられますので先ほど開いていたテーブルも閉じています。


f:id:accs2014:20160828162426p:plain:right:w400

 改めてファイルサイズを確認すると500KBほどに縮小しています。


f:id:accs2014:20160828162427p:plain:right:w400

 なお、「ファイル」タブを選択したときも最適化のメニューが現れますのでこちらでも実行できます。


f:id:accs2014:20160828162428p:plain:right:w500

 さらに、ファイルを閉じるときに自動的に最適化を実行するという設定もあります。
 「ファイル」>「オプション」と選択し、オプションのウインドウで「現在のデータベース」>「閉じるときに最適化する」と選択すればOKです(設定したファイルにしか適用されません)。


 ただ、(管理者は最近のバージョンでは経験がありませんが)以前のバージョンでは最適化が途中で止まってしまうという現象もみられました。万一に備え、最適化をする前にバックアップをとっておくことをおすすめします。