この記事には、Microsoft Office Access データベースのパフォーマンスを向上させるためのヒントが含まれています。 これらのヒントに従うことで、レポートの実行や複雑なクエリに基づくフォームを開くなど、多くのデータベース操作を高速化するのに役立ちます。
データベースのパフォーマンスを向上させる最善の方法の 1 つは、よく使用されるフィールドのインデックスを作成することです。 インデックスを作成すると、この記事に記載されているヒントのいずれかを使うよりもパフォーマンスを改善できます。 インデックスは自動的に作成されますが、インデックスを追加することでパフォーマンスが向上するかどうかを慎重に検討する必要があります。
この記事では、インデックスの作成など、特定のデータベース オブジェクトのパフォーマンスを最適化する方法については説明しません。 詳細については、「 インデックスを作成して使用してパフォーマンスを向上させる」を参照してください。
この記事の内容
ローカル データベースのパフォーマンス向上に役立つ
次のガイドラインは、ローカル Access データベース (ネットワーク上ではなくローカル ハード ディスク ドライブに格納されているデータベース) のパフォーマンスを最適化するのに役立ちます。
名前のオートコレクトをオフにする
名前のオートコレクト機能を使用すると、依存する他のデータベース オブジェクトの名前が変更された場合でも、データベース オブジェクトの機能が変更されるようにします。 たとえば、テーブルの名前を変更し、そのテーブルを使用するクエリがある場合、名前のオートコレクトによって、この変更によってクエリが中断されないようにします。 この機能は役立つ場合がありますが、パフォーマンスが多少低下します。
データベースの設計が安定していて、オブジェクトの名前が変更されない場合は、安全に [名前のオートコレクト] をオフにしてパフォーマンスを向上させることができます。
- 最適化するデータベースを開きます。
- [ ファイル>オプション ] をクリックして、[ Access オプション] ダイアログ ボックスを開きます。
- [Access のオプション] ダイアログ ボックスの左側のウィンドウで、[現在のデータベース] をクリックします。
- 右側のウィンドウの [名前のオートコレクト オプション] で、すべてのチェック ボックスをオフにします。
データベースを圧縮するように設定し、自動的に修復します
時間が経つと、削除されたオブジェクトや一時オブジェクトに割り当てられたままの領域が原因で、データベース ファイルのパフォーマンスが低下する可能性があります。 [圧縮して修復] コマンドを実行すると、この無駄な領域が削除され、データベースをより高速かつ効率的に実行できるようになります。 データベースを閉じたときに [圧縮して修復 ] コマンドを自動的に実行するようにオプションを設定できます。
- 最適化するデータベースを開きます。
- [ ファイル>オプション ] をクリックして、[ Access オプション] ダイアログ ボックスを開きます。
- [Access のオプション] ダイアログ ボックスの左側のウィンドウで、[現在のデータベース] をクリックします。
- 右側のウィンドウの [アプリケーション オプション] で、[閉じるときに圧縮する] チェック ボックスをオンにします。
データベースを排他モードでオープンする
データベースを使用しているのは自分だけの場合、データベースを排他モードで開くと、他のユーザーが同時にデータベースを使用できなくなり、パフォーマンスの向上に役立ちます。
- Access を起動します。データベースは開きません。 データベースが既に開かれている場合は、そのデータベースを閉じます。
- [ 開く] をクリックし、[ 参照] をクリックします。
- [ 開く] ダイアログ ボックスで、開くデータベース ファイルを選びます。 データベース ファイルを参照して検索する必要がある場合は、[ 検索場所 ] リストを使用できます。
- [ 開く] ボタンの矢印をクリックし、[ 排他的に開く] をクリックします。
オートコレクト オプションを無効にする
既定では、入力時にスペルが修正されます。 オートコレクト機能を無効にすると、パフォーマンスが向上します。
最適化するデータベースを開きます。
[ ファイル>オプション ] をクリックして、[ Access オプション] ダイアログ ボックスを開きます。
[Access のオプション] ダイアログ ボックスの左側のウィンドウで、[文章校正] をクリックします。
右側のウィンドウの [ オートコレクトのオプション] で、[ オートコレクトのオプション] をクリックします。
[オートコレクトのオプション] ダイアログ ボックスで、不要なオプションのチェック ボックスをオフにします。
注
メリットを確認するために、すべてのオートコレクト オプションをオフにする必要はありませんが、オフにするオートコレクト オプションが多いほど、メリットが大きくなります。
マルチユーザー環境のパフォーマンスの向上に役立つ
次のガイドラインは、マルチユーザー環境で使用される Access データベースのパフォーマンスを最適化するのに役立ちます。
データベースを分割する
データベースを分割する場合、バックエンド データベースと呼ばれるネットワーク サーバー上のデータベース ファイルにデータ テーブルを配置します。 クエリ、フォーム、レポートなどの他のデータベース オブジェクトを、フロントエンド データベースと呼ばれる別のデータベース ファイルに配置します。 ユーザーは、フロントエンド データベースの独自のコピーを自分のコンピューターに保持します。 データのみがネットワーク経由で送信されるため、パフォーマンスが向上します。
データベース スプリッター ウィザードを使用してデータベースを分割した場合。
- [ データベース ツール ] タブの [データの移動 ] グループで、[ Access データベース] をクリックします。
ページ レベルまたはレコード レベルのロック設定を変更する
Access では、レコードの編集中に一定量のデータがロックされます。 ロックされるデータの量は、選択したロック設定によって異なります。 ページ レベルのロックを選択すると、パフォーマンスの向上に役立てることができます。 ただし、ページ レベルのロックでは、レコード レベルのロックよりも多くのデータがロックされるため、データの可用性が低下する可能性があります。
- ページ レベルのロック Access では、レコードが格納されているページがロックされます (ページは、レコードが存在するメモリ領域です)。 ページ レベルのロックを有効にしてレコードを編集すると、メモリの近くに格納されている他のレコードもロックされる可能性があります。 ただし、一般に、レコード レベル ロックではなくページ レベル ロックを使用すると、パフォーマンスが高速になります。
- レコード レベルのロック Access は、編集中のレコードのみをロックします。 他のレコードは影響を受けません。
ページ レベルまたはレコード レベルのロック設定を変更する
- 調整するデータベースを開きます。
- [ ファイル>オプション ] をクリックして、[ Access オプション] ダイアログ ボックスを開きます。
- 左側のウィンドウで、[ クライアントの設定] をクリックします。
- 右側のウィンドウの [詳細設定] セクションで、[レコード レベルのロックを使用してデータベースを開く] チェック ボックスをオンまたはオフにします。
適切なレコードのロック設定を選択する
Access では、編集中のレコードがロックされます。 Access でロックされるレコードの数とそれらのレコードがロックされる時間は、選択したレコードのロック設定によって異なります。
- ロックなし Access は、ユーザーが変更を保存するまでレコードまたはページをロックしません。これにより、データをより簡単に利用できるようになります。 ただし、この設定を使用すると、データの競合 (同じレコードに同時に変更が加えられる) が発生する可能性があります。 データの競合が発生した場合、ユーザーはどのバージョンのデータを保持するかを決定する必要があります。 通常、これは最も高速なオプションですが、データの競合がパフォーマンスの向上を上回る可能性があります。
- 編集済みのレコード Access では、ユーザーが編集を開始するとすぐにレコードがロックされます。 その結果、レコードは長期間ロックされますが、データ競合が発生する可能性は低くなります。
- すべてのレコード Access では、テーブルを使用するフォームまたはデータシートが開いている間は、そのテーブル内のすべてのレコードがロックされます。 これにより、テーブル内のデータを編集しているユーザーのパフォーマンスを向上させることができますが、他のユーザーによるデータの編集機能は他のオプションよりも制限されます。
レコードのロック設定を変更する
- 調整するデータベースを開きます。
- [ ファイル>オプション ] をクリックして、[ Access オプション] ダイアログ ボックスを開きます。
- 左側のウィンドウで、[ クライアントの設定] をクリックします。
- 右側のウィンドウの [ 詳細設定 ] セクションの [ 既定のレコードのロック] で、必要なオプションをクリックします。
ネットワークの更新と更新の設定を調整する
必要に応じて、[ 更新間隔 (秒)]、[ 更新の再試行間隔 (ミリ秒)]、[ 更新の再試行回数]、[ ODBC 更新間隔 (秒)] の設定を調整してみてください。
[更新の再試行間隔] と [更新の再試行回数] 設定を使用して、別のユーザーによってロックされている場合にレコードの保存を試行する頻度と回数を指定します。
ODBC の更新間隔と更新間隔の設定を使用して、Access でデータを更新する頻度を制御できます。 更新すると、データシートまたはフォームに既に存在するデータのみが更新されます。 更新しても、レコードの並べ替え、新しいレコードの表示、削除されたレコード、および指定された条件を満たさなくなったクエリ結果からのレコードの削除は行われません。 このような変更を表示するには、データシートまたはフォームの基になるレコードを再クエリします。
ネットワークの更新と更新の設定を変更する
- 高速実行するデータベースを開きます。
- [ ファイル>オプション ] をクリックして、[ Access オプション] ダイアログ ボックスを開きます。
- 左側のウィンドウで、[ クライアントの設定] をクリックします。
- 右側のウィンドウの [ 詳細設定 ] セクションで、必要な設定を変更します。
ヒント
再クエリするには、Shift + F9 キーを押します。
コンピューターの Access のパフォーマンス向上に役立つ
次のガイドラインは、作業しているデータベースがコンピューターとネットワークのどちらに保存されているかに関係なく、Access のパフォーマンスを向上させるのに役立ちます。
- ユーザー インターフェイスのアニメーションをオフにする
- アクション タグをオフにする
- 使用していない他のプログラムを閉じます
- コンピューターに RAM を追加する
- ハード ディスク ドライブをクリーンアップする
- 不要な Windows サービスを無効にする
- 仮想メモリ設定を調整する
- スクリーン セーバーを使用しない
- デスクトップの背景を使用しない
ユーザー インターフェイスのアニメーションをオフにする
Access ユーザー インターフェイスには、メニューが開いたときなど、アニメーションが含まれます。 これらのアニメーションはインターフェイスを使いやすくするのに役立ちますが、少し遅くなる可能性があります。 オフにすると、パフォーマンスが向上します。
- [ ファイル>オプション ] をクリックして、[ Access オプション] ダイアログ ボックスを開きます。
- 左側のウィンドウで、[ クライアントの設定] をクリックします。
- 右側のウィンドウの [表示] で、[アニメーションを表示] チェック ボックスをオフにします。
アクション タグをオフにする
アクション タグを使用しない場合は、オフにしてパフォーマンスを向上させます。
- [ ファイル>オプション ] をクリックして、[ Access オプション] ダイアログ ボックスを開きます。
- 左側のウィンドウで、[ クライアントの設定] をクリックします。
- 右側のウィンドウの [表示] で、[データシートにアクション タグを表示する] と [フォームとレポートにアクション タグを表示] チェック ボックスをオフにします。
使用していない他のプログラムを閉じます
他のプログラムを閉じると、Access で使用できるメモリが増え、ディスク使用量を最小限に抑え、パフォーマンスを向上させることができます。
注
また、プログラムを閉じた後もバックグラウンドで実行し続ける一部のプログラムを終了することもできます。 通知領域でそのようなプログラムがないか調べます。 コンピューターが期待どおりに機能するには、一部のプログラムが必要な場合があるため、これらのプログラムを終了するときは注意してください。 疑問がある場合は、おそらくこれらのプログラムを終了しないでください。
コンピューターに RAM を追加する
コンピューターに RAM を追加すると、大規模なクエリの実行速度が向上し、一度に開くデータベース オブジェクトが増えます。 さらに、RAM はハードディスク ドライブ上の仮想メモリよりもはるかに高速です。 RAM を追加すると、ディスクの使用量を最小限に抑え、パフォーマンスを向上させることができます。
ハード ディスク ドライブをクリーンアップする
次の一連の手順を定期的に実行します。
- 不要になったファイルをコンピューターから削除します。
- インターネット一時ファイルを削除します。
- ごみ箱を空にします。
- データベースで圧縮操作と修復操作を実行します。
- ハード ディスク ドライブを最適化します。
不要な Windows サービスを無効にする
たとえば、適切なデスクトップ バックアップ ソリューションがある場合は、システムの復元サービスを無効にすることを検討する必要があります。 使用していない Microsoft Windows サービスを無効にすると、Access で使用できる RAM が増えます。
重要
Windows サービスを無効にした場合は、無効にした内容を追跡して、必要であると判断した Windows サービスを簡単に再有効にできるようにします。
仮想メモリ設定を調整する
ほとんどの場合、Windows で使用される既定の仮想メモリ設定は最適なパフォーマンスを発揮します。 ただし、状況によっては、仮想メモリ設定を調整すると Access のパフォーマンスが向上する場合があります。 次の場合は、既定の仮想メモリの設定を調整することを検討してください。
- 現在仮想メモリーに使用されているドライブに使用可能なディスク領域があまりなく、別のローカル ドライブに使用可能な領域がある。
- 現在のドライブよりも高速である別のローカル ドライブに、使用可能な領域があり、頻繁に使用されていない。
このような場合は、仮想メモリーに別のドライブを指定すると、パフォーマンスが向上することがあります。
また、仮想メモリーに固定量のディスク領域を指定することによって、パフォーマンスが向上する場合もあります。 コンピューターに搭載されている RAM の容量の 1.5 倍の仮想メモリを指定することを検討してください。 たとえば、RAM の容量が 1,024 MB の場合、仮想メモリーに 1,536 MB を指定します。
注
複数の大規模なアプリケーションを頻繁に同時に実行する場合は、より多くの仮想メモリを指定する必要があります。
仮想メモリの設定変更に関するヘルプについては、「仮想メモリの変更」の Windows ヘルプを検索してください。
スクリーン セーバーを使用しない
スクリーン セーバーはメモリを使用し、自動的に起動します。 モニターの設計が改良されたため、モニターを "焼き付き" から保護するためにスクリーン セーバーは必要ではなくなりました。スクリーン セーバーを使わないと、パフォーマンスが少し向上し、コンピューターをよりスムーズに実行できるようになります。
ヒント
不正アクセスからコンピューターを保護するためにスクリーン セーバーに頼らないでください。 席を離れるときにコンピューターを保護するには、Windows ロゴ キー + L キーを押します。
デスクトップの背景を使用しない
デスクトップの背景を [(なし)] に設定すると、多少改善される可能性があります。