OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

重くなってしまったアクセスを軽くする方法

  • 暇なときにでも
  • 質問No.111424
  • 閲覧数1235
  • ありがとう数4
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 24% (21/85)

アクセス2000で社内のデータ-ベースを作っています。
ようやくデータ-ベースが完成したので、データーベース分割ツールを使ってデーターベースをテーブルデータと、フォーム等に分割し、テーブルデータを社内のランのサーバーに置き、クエリ、フォーム及びレポートを各パソコンにコピーして皆で使えるようにしました。
とりあえず、動くのですが、動きが非常に重いんです。これは、どうすれば軽くなるのでしょうか?
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全3件)

  • 回答No.1
レベル13

ベストアンサー率 40% (404/988)

★DBのデータがサーバ(ネットワーク回線の向う側)になるので、通信回線レベルまで速度が落ちます。10BASEだと、かなりストレスが来ます。これは仕方が無い事だと思います。LANの構成を見直してください(ダムHUBをS-HUBにする、1000BASEへ移行等、物理的対策になります) ★アクセスは、排他制御がイイカゲンなので、良く30~50分待たされたりします。(笑) サーバがあるのでしたら、SQLS ...続きを読む
★DBのデータがサーバ(ネットワーク回線の向う側)になるので、通信回線レベルまで速度が落ちます。10BASEだと、かなりストレスが来ます。これは仕方が無い事だと思います。LANの構成を見直してください(ダムHUBをS-HUBにする、1000BASEへ移行等、物理的対策になります)

★アクセスは、排他制御がイイカゲンなので、良く30~50分待たされたりします。(笑)
サーバがあるのでしたら、SQLServerや、ORACLEの方が良いのは事実ですが、難易度は跳ね上がります。

★ちょくちょく更新すると、トランザクションが溜まって、遅くなります
気休めかもしれませんが、アクセスのDBの最適化を行ってはどうでしょうか?

●DBの最適化
サーバで、Accessを起動。DBを呼び出す。
 (このとき、クライアントからアクセスしないほうが良い。)
ツール - データベースユーティリティー - 最適化/修復
から、できます。

  • 回答No.2
レベル13

ベストアンサー率 46% (643/1383)

要はLANの中に大量のデータが流れるからイカンのです。 例えば、フォームのレコードソースにテーブル名や、複数のレコードを返すクエリを指定していませんか? フォームのレコードソースに、レコードを1件だけ返すSQLを書き、「次」ボタンで次のレコードを返すSQLをレコードソースに設定する、などとすると、ずいぶんと改善できます。 とにかく余計なデータをLANに流さない! ってことを念頭において開発す ...続きを読む
要はLANの中に大量のデータが流れるからイカンのです。

例えば、フォームのレコードソースにテーブル名や、複数のレコードを返すクエリを指定していませんか?
フォームのレコードソースに、レコードを1件だけ返すSQLを書き、「次」ボタンで次のレコードを返すSQLをレコードソースに設定する、などとすると、ずいぶんと改善できます。

とにかく余計なデータをLANに流さない! ってことを念頭において開発するとそれなりに速度を稼げます。(それでも、データが溜まってくると遅くはなりますが・・・)

他には、内容が変化しないテーブルは積極的にクライアント側(フォーム等が格納されているDB)に置くようにします。

他にも色々と高速化のテクニックはあるのですが、こっから先は企業ヒミツ(^^;
  • 回答No.3

他の皆さんのおっしゃっている通り、AccessでC/S(厳密には違いますが)を構築しようとするとパフォーマンスは悪くなります。2000では97と比べるとマシにはなっているような気がしますが、それでも2台以上になると若干落ちてきますよね。 何台くらいで同時使用されているのでしょう? 自分の場合は5台がMaxですね。それ以上の場合はSQL-Serverにしています。特に2000からはAccessとSQ ...続きを読む
他の皆さんのおっしゃっている通り、AccessでC/S(厳密には違いますが)を構築しようとするとパフォーマンスは悪くなります。2000では97と比べるとマシにはなっているような気がしますが、それでも2台以上になると若干落ちてきますよね。

何台くらいで同時使用されているのでしょう?
自分の場合は5台がMaxですね。それ以上の場合はSQL-Serverにしています。特に2000からはAccessとSQL Serverの親和性がいいので(多少は癖がありますが)プロジェクトを使用しています。

 分割ツールを使ったっていうことはひょっとして全てのフォームやレポートがサーバー側のテーブルに連結しているのでしょうか?だとしたら危険ですので、データ入力用のフォームくらいは、クライアント側に同じ構造のワークテーブルを置いてそれを編集して、サーバー側に書き込む処理にした方が安全です。ロックのチェックも利きますし。

 ARCさんがおっしゃっているようにLANに流れるデータ量を工夫すればかなりいいです。Accessとは関係ないですが、Windows2000 Serverをお使いなら、ターミナルサービスを利用するのも手かもしれません。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ