Accessの起動が遅い原因と改善方法

スポンサーリンク

Accessの業務システムは、慣れてくるとExcelで運用しているよりも
はるかに便利で良いツールとなるので重宝するものの
やはりどんどんサイズが膨れて遅くなってくることがあります。

そこでAccessが遅い主な原因と改善方法について記載します。

スポンサーリンク

Accessが遅い主な原因について

1. データベースの誇大化

Accessが遅くなる主な要因は、データベースの肥大化です。
大きな画像やファイルを扱う業務システムの場合
(例)
・建築業者など現場の写真をアップ
・社員マスタの画像アップ

そもそも、データの件数が増えるとAccessは重くなります。
特に画像をAccess内に保存している場合は、データベースのサイズが大きくなります。
画像を外部ファイルとして保存し、Accessにはファイルの場所だけを記録する方法もあります。
これにより、Accessのデータベース自体を小さくできます。

Accessのデータベースに画像やファイルを大量に保存すると、データベースファイル自体が肥大化します。
ファイルサイズが大きくなると、バックアップやデータの読み込みにも時間がかかるため、
画像やファイルはAccessの外部に保存し、Accessにはファイルパスなどを保存する方法も検討します。

PCのディスク容量は余裕をもっていないといけないです。
また一般的なPCでは、メモリはそんなに多く積んでいないので厳しくなります。

私が作成するAccessシステムの場合は、閉じるときに最適化するような設定にしているので
この辺は対策していますが、それでも重くなるのはソフト面の問題ではなくハード面の問題になります。

2. LAN環境上のファイル共有

Accessの場合、社内LAN経由で共有フォルダを作成して
複数人で同じデータを参照したり書き込み運用することが多いです。
複数人で操作する場合は、やはりデータ量が多くなると遅くなることがあります。
そもそもLAN環境の遅延というのもあります。
これはLAN環境をどのように構築しているのかによって速度差が発生します。

LANケーブルが古いとそもそも速度でないし、無線LANルーターの場合も速度が落ちる事があったり。
そういう意味では、社内環境を見直した方が良いと思います。

改善方法

1. Accessをフロントエンドとバックエンドに分割する

必要に応じてデータベースファイルを分割するのも良いです。
マスタ系とトラン系で分割・・みたいな。

【フロントエンド】
フォーム
レポート
クエリ
VBA

        ↓ リンクテーブル

【バックエンド】
テーブル

2. データベースを整理する

企業によっては、年度末にバックアップを取って年度を切り替える方法もあります。
新年度にはマスタだけを残し、日常業務で使用するテーブルを初期化します。
こうすることで、データベースの肥大化を防ぎやすくなります。
そうすることで極力データベースの誇大化を防ぎます。

過去データの運用については頭を抱える問題となります。
過去のDBの構造と現在のDBの構造が一致するとは限らないので
DBがバージョンアップした場合に対応が難しくなるからです。
そうすると過去のデータはエクセルに出力しておくのが良いのか検討も必要です。
これはプログラム改修が必要となり、やる内容によっては工数が膨らみます。
システム改修が頻繁に発生しないのであれば、DB接続先切替機能があると
割と便利かなとは思いますが、用途と重要度と予算次第でしょうか。

3. 社内LANの見直し

社内LANをWi-Fi接続にするより有線接続のが早くなることがあります。
ただし、最近のPCにはLANケーブルをさすものがないのがあるので
その場合は、Wi-Fiのルーターを速度がでるものに変えるか
そもそも社内LANが不要なら1台のPCで完結するようにしてしまう等

4. Accessのデータベースを最適化する

Accessではデータの追加・削除を繰り返すことで、データベースファイルが肥大化することがあります。
「データベースの最適化/修復」を実行することで、ファイルサイズを小さくし、動作改善につながる場合があります。

コメント

タイトルとURLをコピーしました