- ベストアンサー
ACCESSのスピードについて
1.前提 5年間で件 件数:T_売上:65,957 T_売上明細:10,8720 T_受注:61,486 T_受注_金額:66,699 →200日/年×5=1000日で割ると1日あたり 件数:T_売上:66 T_売上明細:11 T_受注:61 T_受注_金額:67 サーバ:CPUがP3&メモリ1GB、Win2000Server(ハードはNECのExpress) *サーバにテーブルだけのACCESSがあり、すべてのクライアントはこのテーブルにリンクしています。 クライアント:Win98 5台、ACCESS2000 これをネットワークの線を変えずにハード&ソフトを入れ替えます。 (10BASEです) サーバ:Xeon3.2GHz,1GBメモリ(NEC Express) クライアント:WinXp Pro(Celeron2.5GHz,256MBメモリ) 11台、ACCESS2003 になります。 データ件数は上記2倍を想定しています。 以前のデータは、そのままACCESS2003に移行して今後のデータは追加する形になります。 2.質問 現在も遅く感じますが、現在以下になるような事があるでしょうか。また、遅くなるとしたら感覚的にどのくらいでしょうか。 なお、ピーク時には平日一日の3,4倍のデータが想定されます。 ご経験がおありになれば何でも結構です。 教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>現在以下になるような事があるでしょうか 以下になる事はないと思います。 1日あたり売上:66・売上明細:11・受注:61・金額:67の4倍弱で700レコード前後なら問題ないと思いますが。 2003ならクライアント数も大丈夫なはずです。 2GBからシステムオブジェクトに必要な領域のサイズを引いた値が最大のmdbファイルサイズになりますのでその辺を考慮すれば平気かと思います。 メモリの消費も大きいので無駄なフォームのOpen・Closeはしないとか。 ペルプでもパフォーマンスの向上などで探せば出てきます。 パフォーマンスを向上させ安定したフロント/バックエンドとして使用するならサーバーはSQLServerとかにしクライアント/サーバー環境にした方が良いと思います。予算等で一概には言えませんが。 >#1の方がインデックスの作成とあるので 並べ替えや結合を行うフィールドや抽出条件を設定するフィールドにインデックスを作成します。 ただしインデックスの作成が適切でない場合もあります。 インデックスによりmdbファイルのサイズの増加やマルチユーザーアプリケーションにおける同時実行の制限やインデックスが作成されたフィールドのデータを更新する場合やレコードの追加や削除を行う場合のパフォーマンスの低下が発生します。 インデックスを追加することでわずかにクエリが高速化されてもレコードの追加にその倍の時間がかかるようになりロックに関する問題が生じることがあります。 不要なインデックスは付けないで一意の値を持つフィールドのみにインデックスを作成する必要があります。むやみにインデックスを付けると速度低下を招きます。 ご存知とは思いますが・・。
その他の回答 (1)
- PrintScree
- ベストアンサー率25% (538/2091)
現在の状況が不明なのでなんともいえませんが、スピードアップのためのテクニックならアドバイスできます。 まず、各テーブルの必要な項目にインデックスを作成します。 項目の洗い出し方法は、クエリーで項目同士を線で連結している項目、クエリーの抽出や並び替え条件が設定されている項目。 を洗い出し、テーブル定義で洗い出した項目にインデックスを作成します。 インデックスを作成すると、場合によってはビックリするほど速度向上が期待できます。 ハード的アプローチとしては、ダムHUBを使用しているならスイッチングHUBに交換するとネットワーク上でのコリジョンが減りレスポンスが向上します。
補足
大変参考になりました。まだ実行するにはビビッていますが、安心度が増えました。ありがとうございました。